Zero-copy Transfers with io_uring and Rust
Lightningat RustConf 2026 · on Wednesday, 2026-09-09· at 17:25· Room 511 | Palais des Congrès de Montréal, Palais des Congrès de Montréal·
summary
Shows how io_uring plus Tokio async turns file-to-network paths into true async pipelines by submitting batched, linked operations to the kernel so user space only orchestrates. Uses fixed buffers registered with the ring and O_DIRECT (or splice) to avoid the usual file→pagecache→socket copies, cutting syscalls and eliminating Tokio’s file threadpool blocking. Demonstrates a read→send pipeline that reuses buffers, reports roughly 3× improvement in latency/throughput, and notes kernel 6.11+ and NIC hardware support are required.
AI-written summary · about
related talks
29mI/O in Rust: the whole story
16mTokio’s New io_uring-Based File I/O
33mStorage-intensive apps on tokio: when it's time to reach for io_uring
01h 04mAsynchronous I/O and Coroutines for Smooth Data Streaming
38mLess Tokio is More Tokio: Strategies for Accelerating a Rust Native Search Database
57mAsynchronous I/O and coroutines for smooth data streaming
32mTechniques for writing concurrent applications with asynchronous I/O
50mHigh Performance Network Programming in Rust
