What is io_uring? Sep 23, 2024

submited by
Style Pass
2024-09-24 19:00:06

io_uring is a new Linux kernel interface for making system calls. Traditionally, syscalls are submitted to the kernel individually and synchronously : a syscall CPU instruction transfers control from the application to the kernel; control returns to the application only when the syscall is completed. In contrast, io_uring is a batched and asynchronous interface. The application submits several syscalls by writing their codes & arguments to a lock-free shared-memory ring buffer. The kernel reads the syscalls from this shared memory and executes them at its own pace. To communicate results back to the application, the kernel writes the results to a second lock-free shared-memory ring buffer, where they become available to the application asynchronously.

Leave a Comment