Re: FIO enter dead-loop to look for new file

From: Zhang, Yanmin <yanmin_zhang_at_linux.intel.com>
Date: Mon, 25 Feb 2008 11:03:55 +0800

On Wed, 2008-02-13 at 16:58 +0800, Zhang, Yanmin wrote:
> On Tue, 2008-02-05 at 10:06 +0100, Jens Axboe wrote:
> > On Tue, Feb 05 2008, Jens Axboe wrote:
> > > On Tue, Feb 05 2008, Zhang, Yanmin wrote:
> > > > On Mon, 2008-02-04 at 11:01 +0100, Jens Axboe wrote:
> > > > > On Mon, Feb 04 2008, Zhang, Yanmin wrote:
> > > > > > On Mon, 2008-02-04 at 17:03 +0800, Zhang, Yanmin wrote:
> > > > > > > When I used below job file to test, it hangs. I used gdb to check it and found
> > > > > > > thread_main keeps calling clear_io_state over and over again. Every sub-process
> > > > > > > has one file, but it doesn't finish its task after it finishs the file, so it
> > > > > > > calls do_io again and again although it has no more file.
> > > > > > >
> > > > > > > If change bsrange=4k-4k, it does work. if it's 2k-4k, it also doesn't work.
> > > > > > If I use bs=2k to replace bsrange, it looks like it does work although
> > > > > > my testing is still running.
> > > > >
> > > > > Can you try the current version, I fixed some bugs in this area on
> > > > > friday? Either use git to download it, or just use
> > > > >
> > > > > http://brick.kernel.dk/snaps/fio-git-latest.tar.gz
> > > > I tried it. with bsrange=2k-4k, it doesn't hang. However, there is
> > > > anthoer issue. I used 9 disks and every disk has a 1GB file. Every 2
> > > > threads do I/O on one file, so there are 18 threads and 9 groups. With
> > > > the new fio-git, the status shows there are just 4 threads working on
> > > > I/O. The result also showed 5 groups has no result.
This issue appears again in the latest tarball of Feb. 21st.

> > >
> > > OK, I'll play around with your job file and poke at it a bit!
> >
> > Two bugs there:
> >
> > - Parser doesn't set the 2nd bsrange like HOWTO says it does, so when
> > you use bsrange=1k-4k you only get that range for reads, writes will
> > use the default 4k.
> > - The above exposed a bug in the offset retrieval for a random IO, where
> > it generated an offset that was OK for the direction (say end - 1k),
> > but failed because the blocksize was actually 4k for that IO.
> >
> > Patch below, checked in as two seperate fixes. Please verify that it now
> > works for you, thanks!
> Sorry for replying late. I took 1 week leave because of holiday.
>
> I verified it with the latest git tarball and it does fix the issue.
I checked the source codes and your fix was missed in the latest tarball.

-yanmin
Received on Mon Feb 25 2008 - 04:03:55 CET

This archive was generated by hypermail 2.2.0 : Mon Feb 25 2008 - 04:30:03 CET