linux/io_uring
Pavel Begunkov fbb8bb0291 io_uring: remove ctx->refs pinning on enter
io_uring_enter() takes ctx->refs, which was previously preventing racing
with register quiesce. However, as register now doesn't touch the refs,
we can freely kill extra ctx pinning and rely on the fact that we're
holding a file reference preventing the ring from being destroyed.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/a11c57ad33a1be53541fce90669c1b79cf4d8940.1656153286.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-07-24 18:39:16 -06:00
..
advise.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
advise.h io_uring: split out fadvise/madvise operations 2022-07-24 18:39:11 -06:00
cancel.c io_uring: add sync cancelation API through io_uring_register() 2022-07-24 18:39:15 -06:00
cancel.h io_uring: add sync cancelation API through io_uring_register() 2022-07-24 18:39:15 -06:00
epoll.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
epoll.h io_uring: move epoll handler to its own file 2022-07-24 18:39:11 -06:00
fdinfo.c io_uring: move a few private types to local headers 2022-07-24 18:39:14 -06:00
fdinfo.h io_uring: move fdinfo helpers to its own file 2022-07-24 18:39:12 -06:00
filetable.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
filetable.h io_uring: dedup io_run_task_work 2022-07-24 18:39:15 -06:00
fs.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
fs.h io_uring: split out filesystem related operations 2022-07-24 18:39:11 -06:00
io_uring.c io_uring: remove ctx->refs pinning on enter 2022-07-24 18:39:16 -06:00
io_uring.h io_uring: remove priority tw list optimisation 2022-07-24 18:39:15 -06:00
io-wq.c io_uring: dedup io_run_task_work 2022-07-24 18:39:15 -06:00
io-wq.h io_uring: move list helpers to a separate file 2022-07-24 18:39:15 -06:00
kbuf.c io_uring: kbuf: inline io_kbuf_recycle_ring() 2022-07-24 18:39:16 -06:00
kbuf.h io_uring: kbuf: inline io_kbuf_recycle_ring() 2022-07-24 18:39:16 -06:00
Makefile io_uring: move opcode table to opdef.c 2022-07-24 18:39:12 -06:00
msg_ring.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
msg_ring.h io_uring: move msg_ring into its own file 2022-07-24 18:39:12 -06:00
net.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
net.h io_uring: split network related opcodes into its own file 2022-07-24 18:39:11 -06:00
nop.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
nop.h io_uring: move nop into its own file 2022-07-24 18:39:11 -06:00
opdef.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
opdef.h io_uring: move opcode table to opdef.c 2022-07-24 18:39:12 -06:00
openclose.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
openclose.h io_uring: split out open/close operations 2022-07-24 18:39:11 -06:00
poll.c io_uring: move POLLFREE handling to separate function 2022-07-24 18:39:16 -06:00
poll.h io_uring: move a few private types to local headers 2022-07-24 18:39:14 -06:00
refs.h io_uring: make io_uring_types.h public 2022-07-24 18:39:14 -06:00
rsrc.c io_uring: move io_import_fixed() 2022-07-24 18:39:15 -06:00
rsrc.h io_uring: move io_import_fixed() 2022-07-24 18:39:15 -06:00
rw.c io_uring: remove priority tw list optimisation 2022-07-24 18:39:15 -06:00
rw.h io_uring: move read/write related opcodes to its own file 2022-07-24 18:39:12 -06:00
slist.h io_uring: move list helpers to a separate file 2022-07-24 18:39:15 -06:00
splice.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
splice.h io_uring: split out splice related operations 2022-07-24 18:39:11 -06:00
sqpoll.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
sqpoll.h io_uring: move SQPOLL related handling into its own file 2022-07-24 18:39:12 -06:00
statx.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
statx.h io_uring: move statx handling to its own file 2022-07-24 18:39:11 -06:00
sync.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
sync.h io_uring: split out fs related sync/fallocate functions 2022-07-24 18:39:11 -06:00
tctx.c io_uring: lockless task list 2022-07-24 18:39:15 -06:00
tctx.h io_uring: lockless task list 2022-07-24 18:39:15 -06:00
timeout.c io_uring: improve io_fail_links() 2022-07-24 18:39:16 -06:00
timeout.h io_uring: move a few private types to local headers 2022-07-24 18:39:14 -06:00
uring_cmd.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
uring_cmd.h io_uring: move uring_cmd handling to its own file 2022-07-24 18:39:11 -06:00
xattr.c io_uring: kill extra io_uring_types.h includes 2022-07-24 18:39:14 -06:00
xattr.h io_uring: move xattr related opcodes to its own file 2022-07-24 18:39:11 -06:00