Axboe: io_uring and networking in 2023
Jens Axboe has posted adetailed guide to improving the performance of networking applicationswith io_uring.
Network applications have been written with a readiness type ofmodel for decades, most commonly using epoll(2) these days to getnotified when a given socket has data available. While theseapplications can be adapted to io_uring by swapping epoll notifierswith io_uring notifiers, going down that path does not lead to anoutcome that fully takes advantage of what io_uring offers. It'llpotentially provide a reduction of system calls compared to epoll,but will not be able to take advantage of some of the otherfeatures that io_uring offers. To do that, a change to the IO eventloop must be done.