io_uring: switch away from percpu refcounts io_uring-exit-cancel.2
authorJens Axboe <axboe@kernel.dk>
Fri, 21 Mar 2025 17:53:21 +0000 (11:53 -0600)
committerJens Axboe <axboe@kernel.dk>
Mon, 21 Apr 2025 11:14:00 +0000 (05:14 -0600)
commitbb69cde69b51043d1be5bdffd3fc8b08381bb9a8
tree3211979ec71f13ba94a73ba929baeadcc32a4b71
parent51743a3c92dede65077a4799dd8d0e7e2b1449e3
io_uring: switch away from percpu refcounts

For the common cases, the io_uring ref counts are all batched and hence
need not be a percpu reference. This saves some memory on systems, but
outside of that, it gets rid of needing a full RCU grace period on
tearing down the reference. With io_uring now waiting on cancelations
and IO during exit, this slows down the tear down a lot, up to 100x
as slow.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/io_uring_types.h
io_uring/io_uring.c
io_uring/io_uring.h
io_uring/msg_ring.c
io_uring/refs.h
io_uring/register.c
io_uring/rw.c
io_uring/sqpoll.c
io_uring/zcrx.c