io_uring
is considered one of the most revolutionary interfaces
for the linux kernel, find out why.
In this repository we try to collect examples, tutorials and documentation about this amazing project, to raise awarness and knowledge.
Tutorials about io_uring
- Lord of the
io_uring
: Amazing collection of tutorials with deep explanations, unfortunately not updated often.
Libraries for using io_uring
- liburing: Helper to interact with the kernel
io_uring
interface - xnvme: NVMe library with
io_uring
support - SPDK: Intel library focused on performant io, with
io_uring
support
- Seastar: Asynchronous event-driven framework
- liburing4cpp: Binding for
io_uring
with coroutines support - ubdsrv: Userspace block device driver
using
io_uring
- tokio-uring: An
io_uring
backend fortokio
- io-uring: From the authors of
tokio
, withouttokio
dependency - rio: Pure rust
io_uring
library, unfortunately unmaintained - Ringbahn:
io_uring
library from Berlin. Unfortunately unmaintained.
- gouring: Amazing
io_uring
library in pure golang - iouring-go: Async interface for
io_uring
- Bun: Bun has support for
io_uring
- Nodejs: Issue tracking
io_uring
support - Deno: Issue tracking
io_uring
support
- ocaml-uring:
io_uring
bindings for OCaml
Projects using io_uring
Articles about io_uring
- How io_uring and eBPF Will Revolutionize Programming in Linux
- Missing manuals - io_uring worker pool
- Experiments with io_uring
Other resources about io_uring
- IRC channel:
discussions about
io_uring
. You can find the archives here - Mailing list: The official dev mailing list of
io_uring
- Stackoverflow:
io_uring
tagged questions and answers on stackoverflow