diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2023-04-13 16:28:08 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-04-15 22:44:57 +0200 |
commit | 4ea15b56f0810f0d8795d475db1bb74b3a7c1b2f (patch) | |
tree | 87fada8191a92e179e90b93f594fcc013a05e147 /io_uring/rsrc.h | |
parent | io_uring/rsrc: refactor io_rsrc_ref_quiesce (diff) | |
download | linux-4ea15b56f0810f0d8795d475db1bb74b3a7c1b2f.tar.xz linux-4ea15b56f0810f0d8795d475db1bb74b3a7c1b2f.zip |
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>
Diffstat (limited to 'io_uring/rsrc.h')
-rw-r--r-- | io_uring/rsrc.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/io_uring/rsrc.h b/io_uring/rsrc.h index 88adcb0b7963..d93ba4e9742a 100644 --- a/io_uring/rsrc.h +++ b/io_uring/rsrc.h @@ -35,7 +35,6 @@ struct io_rsrc_data { u64 **tags; unsigned int nr; rsrc_put_fn *do_put; - struct completion done; int refs; bool quiesce; }; |