io_uring/rsrc: use wq for quiescing
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 13 Apr 2023 14:28:08 +0000 (15:28 +0100)
committerJens Axboe <axboe@kernel.dk>
Sat, 15 Apr 2023 20:44:57 +0000 (14:44 -0600)
commit4ea15b56f0810f0d8795d475db1bb74b3a7c1b2f
tree87fada8191a92e179e90b93f594fcc013a05e147
parenteef81fcaa61e1bc6b7735be65f41bbf1a8efd133
io_uring/rsrc: use wq for quiescing

Replace completions with waitqueues for rsrc data quiesce, the main
wakeup condition is when data refs hit zero. Note that data refs are
only changes under ->uring_lock, so we prepare before mutex_unlock()
reacquire it after taking the lock back. This change will be needed
in the next patch.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/1d0dbc74b3b4fd67c8f01819e680c5e0da252956.1681395792.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/io_uring_types.h
io_uring/io_uring.c
io_uring/rsrc.c
io_uring/rsrc.h