Re: test definition help needed

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

 



On 2011-02-07 21:51, Steven Pratt wrote:
> 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

It is sort-of hackish. I guess it would be cleaner to add a separate
file_service_type define for that.

> 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?

I'll look into that tomorrow, sounds like a bug that has been there
since that service type was introduced.

-- 
Jens Axboe

--
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


[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux