]> git.ipfire.org Git - thirdparty/linux.git/commit
io_uring/zcrx: implement large rx buffer support
authorPavel Begunkov <asml.silence@gmail.com>
Sat, 24 Jan 2026 10:36:17 +0000 (10:36 +0000)
committerJens Axboe <axboe@kernel.dk>
Sat, 24 Jan 2026 15:33:03 +0000 (08:33 -0700)
commit795663b4d160ba652959f1a46381c5e8b1342a53
tree32d6a4b8656b51c09c11590295884d945f6d9149
parentd1de61db1536727c1cad049c09decff22e8b6dd7
io_uring/zcrx: implement large rx buffer support

There are network cards that support receive buffers larger than 4K, and
that can be vastly beneficial for performance, and benchmarks for this
patch showed up to 30% CPU util improvement for 32K vs 4K buffers.

Allows zcrx users to specify the size in struct
io_uring_zcrx_ifq_reg::rx_buf_len. If set to zero, zcrx will use a
default value. zcrx will check and fail if the memory backing the area
can't be split into physically contiguous chunks of the required size.
It's more restrictive as it only needs dma addresses to be contig, but
that's beyond this series.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
[axboe: kill duplicate netdev_queues.h include]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/uapi/linux/io_uring.h
io_uring/zcrx.c