> Just one thread gets completions (i.e. calls io_uring_enter()), and than distributes > jobs to a thread pool. Yep, I'am thinking along this lines - one thread is getting the state update for multiple events and spreading it to waiting worker threads through semaphore or else I assume there is no protection of multiple threads waking up from single event(one of the epoll original problems which was fixed with a new flag). The worker threads are free to submit new job requests directly into the SQE though(without a proxy job list).