[PATCH io_uring for-6.18 00/20] zcrx for-6.18 updates
From: Pavel Begunkov <asml.silence@gmail.com>
Date: 2025-09-16 14:26:47
Also in:
io-uring
A bunch of assorted zcrx patches for 6.18, which includes - Improve refill entry alignment for better caching (Patch 1) - Various cleanups, especially around deduplicating normal memory vs dmabuf setup. - Generalisation of the niov size (Patch 12). It's still hard coded to PAGE_SIZE on init, but will let the user to specify the rx buffer length on setup. - Syscall / synchronous bufer return (Patch 19). It'll be used as a slow fallback path for returning buffers when the refill queue is full. Useful for tolerating slight queue size misconfiguration or with inconsistent load. - Accounting more memory to cgroups (Patch 20) - Additional independent cleanups that will also be useful for mutli-area support. Pavel Begunkov (20): io_uring/zcrx: improve rqe cache alignment io_uring/zcrx: replace memchar_inv with is_zero io_uring/zcrx: use page_pool_unref_and_test() io_uring/zcrx: remove extra io_zcrx_drop_netdev io_uring/zcrx: don't pass slot to io_zcrx_create_area io_uring/zcrx: move area reg checks into io_import_area io_uring/zcrx: check all niovs filled with dma addresses io_uring/zcrx: pass ifq to io_zcrx_alloc_fallback() io_uring/zcrx: deduplicate area mapping io_uring/zcrx: remove dmabuf_offset io_uring/zcrx: set sgt for umem area io_uring/zcrx: make niov size variable io_uring/zcrx: rename dma lock io_uring/zcrx: protect netdev with pp_lock io_uring/zcrx: reduce netmem scope in refill io_uring/zcrx: use guards for the refill lock io_uring/zcrx: don't adjust free cache space io_uring/zcrx: introduce io_parse_rqe() io_uring/zcrx: allow synchronous buffer return io_uring/zcrx: account niov arrays to cgroup include/uapi/linux/io_uring.h | 12 ++ io_uring/register.c | 3 + io_uring/zcrx.c | 285 +++++++++++++++++++++------------- io_uring/zcrx.h | 19 ++- 4 files changed, 211 insertions(+), 108 deletions(-) -- 2.49.0