Re: io_uring engine -- sqthread_poll option can't work as implemented

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

 



On 9/4/19 2:43 PM, Jens Axboe wrote:
> On 9/4/19 2:10 PM, Jens Axboe wrote:
>> On 9/3/19 5:49 AM, Jeff Moyer wrote:
>>> Jens Axboe <axboe@xxxxxxxxx> writes:
>>>
>>>> On 8/29/19 10:38 AM, Jeff Moyer wrote:
>>>>> Hi,
>>>>>
>>>>> sqthread_poll requires registered files in order to work.  That's not
>>>>> implemented in fio, and I don't see how one would go about it (but I'm
>>>>> not all that familiar with fio's architecture).  We basically need all
>>>>> files to be opened before we can register them.  It looks to me as
>>>>> though the files are opened on demand, after the io engine is
>>>>> initialized.
>>>>>
>>>>> Any suggestions?
>>>>
>>>> Leftover from previously, when that requirement wasn't there... Using
>>>> it from fio would require a little bit of footwork, but it's not
>>>> impossible.
>>>
>>> OK, if you can point me in the right direction, I'll take a stab at it.
>>
>> I think if we impose the restriction that the total number of files used
>> must fit in a registered file set, it isn't too hard. Just have the
>> engine open the files when it starts, and provide a new ->open_file()
>> (and ->close_file()) in the engine ops.
>>
>> I'll take a stab at it.
> 
> Here's a quick 10 min hack to get this going, if you want to run with
> this, that'd be great. What is still needed:
> 
> 1) Test it... I just ran a basic test to verify it does what I think it
>     should, that's all.
> 2) Keep the standalone option, but make sqthread_poll imply this option
>     as well.
> 3) Probably add a check whether o->nr_files fits in a set. Or maybe it's
>     fine not to, the system call will complain anyway.
> 4) Ensure it works with things like loops= that restart things.
> 5) Probably various things I didn't think of yet.

I ran a few more tests and it seems fine, so I fixed up a bit of
error handling and committed it.

-- 
Jens Axboe




[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