Engineering posts
Epoll versus io_uring: a Linux I/O model explainer
- Category: Engineering post
- Status: discussion
- Sources: sibexi.co, discussion
- Summary: An explainer dated 2026-06-20 contrasts the epoll readiness model, where the kernel signals that a socket is ready and the program then issues the I/O at the cost of extra syscalls, with the io_uring completion model, where operations are submitted in batches and the kernel reports when each I/O is done. The author reports a TinyGate proxy gained a large throughput improvement moving from a worker pool to epoll and again to io_uring, but the post gives code examples rather than benchmark numbers.
- Why it matters: It lays out the syscall-overhead difference that pushes high-throughput Linux network services toward io_uring.