On 1/29/25 11:01 AM, Max Kellermann wrote: > On Wed, Jan 29, 2025 at 6:45?PM Jens Axboe <axboe@xxxxxxxxx> wrote: >> Why are you combining it with epoll in the first place? It's a lot more >> efficient to wait on a/multiple events in io_uring_enter() rather than >> go back to a serialize one-event-per-notification by using epoll to wait >> on completions on the io_uring side. > > Yes, I wish I could do that, but that works only if everything is > io_uring - all or nothing. Most of the code is built around an > epoll-based loop and will not be ported to io_uring so quickly. > > Maybe what's missing is epoll_wait as io_uring opcode. Then I could > wrap it the other way. Or am I supposed to use io_uring > poll_add_multishot for that? Not a huge fan of adding more epoll logic to io_uring, but you are right this case may indeed make sense as it allows you to integrate better that way in existing event loops. I'll take a look. -- Jens Axboe