Re: [PATCH 4/5] aio: support for IO polling

2018-11-19 Thread Jens Axboe
On 11/19/18 6:32 AM, Christoph Hellwig wrote: > > I just saw the patch that avoids the irq disabling show up in your > tree this morning. I think we can do even better by using slightly > lazy lists that are not updated from ->ki_complete context. I totally agree, it's just a first step. One

Re: [PATCH 4/5] aio: support for IO polling

2018-11-19 Thread Christoph Hellwig
I just saw the patch that avoids the irq disabling show up in your tree this morning. I think we can do even better by using slightly lazy lists that are not updated from ->ki_complete context. Please take a look at the patch below - this replaces patch 3 from my previous mail, that is it is

Re: [PATCH 4/5] aio: support for IO polling

2018-11-19 Thread Christoph Hellwig
I like this idea, but there are a couple issues here. First the flag per command really doesn't work - we need a creation time flag. Unfortunately the existing io_setup system call doesn't take flags, so we'll need to add a new one. Second we need a check that the polling mode is actually

[PATCH 4/5] aio: support for IO polling

2018-11-17 Thread Jens Axboe
Add polled variants of PREAD/PREADV and PWRITE/PWRITEV. These act like their non-polled counterparts, except we expect to poll for completion of them. The polling happens at io_getevent() time, and works just like non-polled IO. Polled IO doesn't support the user mapped completion ring. Events