io_uring
also: io_uring interface, uring
io_uring is a Linux kernel interface for asynchronous I/O operations that allows applications to submit and retrieve I/O requests efficiently without system call overhead.
io_uring is a modern Linux kernel subsystem (introduced in kernel 5.1) that provides a high-performance interface for performing asynchronous input/output. It uses two lock-free ring buffers—one for submission and one for completion—allowing applications to batch multiple I/O operations and retrieve results with minimal context switching.
Unlike older asynchronous I/O mechanisms like aio, io_uring reduces the overhead of system calls and provides better performance for workloads with many concurrent I/O operations. Applications can submit read, write, network, and other I/O requests to the submission queue, and later poll or wait on the completion queue for results.
Example: A web server might submit 100 file read requests via io_uring's submission ring, then check the completion ring periodically to process results, all with fewer system calls than traditional approaches. This is particularly valuable for databases, storage systems, and high-concurrency network services.