Session

io_uring ZCRX: Progress and Next Steps

Speakers

Pavel Begunkov

Label

Nuts and Bolts

Session Type

Talk

Description

io_uring ZCRX: Progress and Next Steps

Since its introduction in Linux 6.15, io_uring zero-copy receive (ZCRX) has proved to be a compelling solution for applications requiring high-performance networking without sacrificing the Linux networking stack or the existing infrastructure, tooling, and observability built around it. However, to make it a truly reliable solution for a broader set of workloads, we first need to answer a number of important questions. What happens when the refill queue is exhausted and we can’t recycle buffers back to the kernel? How can a NIC queue be shared between multiple processes? How can applications detect memory pressure before allocation failures impact performance, and what mitigation options are available?

In this talk I’ll be walking through the latest developments in ZCRX and how they address these challenges. We’ll dive into recent API additions and the motivation behind them, new features, and performance improvements. Finally, I’ll touch on future directions and what’s next for zero-copy receive in Linux.