Re: test definition help needed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On 02/06/2011 03:00 PM, Jens Axboe wrote:
> On 2011-02-04 20:21, Steven Pratt wrote:
>> I am trying to create a job file that randomly select a file form an imported list and reads the entire file sequentially. Them moves to the next file. I also want multiple jobs(processe) running the same workload. I have this:
>>
>> [global]
>> bs=4k
>> time_based=1
>> runtime=15m
>> iodepth=4
>> rw=read
>> ioengine=libaio
>> time_based=1
>> ramp_time=600s
>> norandommap
>>
>> [job1]
>> opendir=/${FIO_MOUNT}/session1/small_file1
>> file_service_type=sequential
>> numjobs=8
>>
>>
>>
>> I used file_service_type=sequential because tought without it it would
>> only do a single read (block) from the file before switching to a
>> different file, which is not what I want. The issue with this test as
>> written is it seems like all the fio processes choose files in the
>> same order so I get way more cache hits than I want. I want this to be
>> more of a random file selection, but with reading whole file.  Any
>> advice?
> file_service_type=random:<largenum>
>
> should do what you need, I think. If you ensure that <largenum> is
> sufficiently large that the file will always be finished before you run
> out, then that should work.
Had thought of that, but seemed kind of hackish.  Any way gave it a shot and it kind of worked.  It seemed to randomly select a file to operate on, however fio eventually went into a tight spin loop and never exited. Traced that back to get_next_file_rand where apparently if you ever access every file you will never exit(get stuck in  "if (fio_file_done(f))  continue;" forever).  So now I have 2 problems.  One is this infinite loop which is obviously not good. The second (which may help solve the first) is that I want to randomly reuse files. I don't want a perfect no reuse case, and I can't find any way to get that to happen. If reuse were possible, this loop would not be a problem.  I guess for now I can just remove the continue and it will do what I want and not loop.  Thoughts on a better solution?

Steve


--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Home]     [Linux SCSI]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Video Projectors]     [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [XFree86]

Powered by Linux