Io_uring is not an event system [2021]
4 days ago
- #Linux
- #io_uring
- #asynchronous-IO
- io_uring is a high-performance IO technology in Linux, not just an event system like select, poll, or epoll.
- It functions as a generic asynchronous syscall facility, allowing the kernel to perform actions when conditions are right, rather than notifying the program to take action.
- Traditional UNIX IO syscalls (e.g., read()) are synchronous and blocking, leading to inefficiencies when handling multiple IO operations.
- io_uring uses a pair of queues: a submission queue for requests and a completion queue for results, simplifying the process by reducing the need for user program involvement.
- It can handle various types of IO, including traditionally hard-to-manage asynchronous file IO, potentially simplifying many programs.
- Despite its advantages, io_uring's documentation is lacking, which may hinder its adoption.