Expand description
io_uring NAPI busy-poll registration for NFS-target rings. io_uring NAPI busy-poll registration for NFS-target rings.
NAPI busy-polling reduces network completion latency by having the kernel
poll NIC receive queues directly from io_uring_enter(), avoiding the
interrupt->softirq->wakeup path. This is particularly beneficial for NFS
targets where each copy operation involves multiple RPC round-trips.
Kernel requirements: Linux 6.9+, CONFIG_NET_RX_BUSY_POLL=y.
The wrapper degrades gracefully on older kernels (returns Err(ENOSYS)).
Uses the io-uring 0.7.13 crate’s native Submitter::register_napi API
(io_uring::types::Napi), which wraps IORING_REGISTER_NAPI (opcode 27).
Constants§
- DEFAULT_
NAPI_ BUSY_ POLL_ TO_ US - Default busy-poll timeout in microseconds.
Functions§
- register_
napi_ with_ ring - Register NAPI busy-poll parameters with an io_uring ring.
- try_
register_ napi - Attempt to register NAPI busy-poll, treating
ENOSYSas success. - unregister_
napi_ from_ ring - Unregister NAPI busy-poll from an io_uring ring.