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 restriction you added is that only one task can be on io_getevents at the time for an io_context, I didn't want to go that far. One issue with that is that we can find events that are for other io contexts, if you saw my patch for the stack list, then that's in there too. So you have to deal with the case where multiple tasks can be completing events for the same io_context, regardless of whether you try to block that behavior at io_getevents() entry time. > Please take a look at the patch below - this replaces patch 3 from > my previous mail, that is it is on top of what you send to the list > plus my first two patches. Thanks, I'll take a look. I'll split out fhe fops change, as that is indeed how I wanted to get this done ultimately as well, since it's the only way to support more complicated setups. -- Jens Axboe