On 9/5/19 9:11 AM, Jeff Moyer wrote: > Jens Axboe <axboe@xxxxxxxxx> writes: > >> 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. > > I was going to recommend you do that. :) Making sqthread_poll imply > registerfiles is trivial. I also have a man page update. I'll send > those along after more testing. I did make make sqthread_poll == true set registerfiles as well, and added the man page bits for the option. If you have further updates, please do send them. Also interested in how the testing went ;-) -- Jens Axboe