]> www.infradead.org Git - users/jedix/linux-maple.git/commit
io_uring/zcrx: move zcrx region to struct io_zcrx_ifq
authorPavel Begunkov <asml.silence@gmail.com>
Sun, 20 Apr 2025 09:31:19 +0000 (10:31 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 21 Apr 2025 11:12:31 +0000 (05:12 -0600)
commit632b3186726984319e2337987de86a442407f30e
treedc80b88d3d3c1db924b3f58f8bc3353eff4460f0
parent77231d4e46555d30289b1909c2a2f26bcf00f08c
io_uring/zcrx: move zcrx region to struct io_zcrx_ifq

Refill queue region is a part of zcrx and should stay in struct
io_zcrx_ifq. We can't have multiple queues without it, so move it there.

As a result there is no context global zcrx region anymore, and the
region is looked up together with its ifq. To protect a concurrent mmap
from seeing an inconsistent region we were protecting changes to
->zcrx_region with mmap_lock, but now it protect the publishing of the
ifq.

Reviewed-by: David Wei <dw@davidwei.uk>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/24f1a728fc03d0166f16d099575457e10d9d90f2.1745141261.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/io_uring_types.h
io_uring/zcrx.c
io_uring/zcrx.h