diff options
author | Jens Axboe <axboe@kernel.dk> | 2024-01-29 04:32:52 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-02-08 21:27:06 +0100 |
commit | bfe30bfde279529011161a60e5a7ca4be83de422 (patch) | |
tree | 3318cc8e8c4506d5cfd05d227259072365288b85 /io_uring/io_uring.h | |
parent | io_uring: add io_file_can_poll() helper (diff) | |
download | linux-bfe30bfde279529011161a60e5a7ca4be83de422.tar.xz linux-bfe30bfde279529011161a60e5a7ca4be83de422.zip |
io_uring: mark the need to lock/unlock the ring as unlikely
Any of the fast paths will already have this locked, this helper only
exists to deal with io-wq invoking request issue where we do not have
the ctx->uring_lock held already. This means that any common or fast
path will already have this locked, mark it as such.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/io_uring.h')
-rw-r--r-- | io_uring/io_uring.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/io_uring/io_uring.h b/io_uring/io_uring.h index 2952551fe345..46795ee462df 100644 --- a/io_uring/io_uring.h +++ b/io_uring/io_uring.h @@ -208,7 +208,7 @@ static inline void io_ring_submit_unlock(struct io_ring_ctx *ctx, unsigned issue_flags) { lockdep_assert_held(&ctx->uring_lock); - if (issue_flags & IO_URING_F_UNLOCKED) + if (unlikely(issue_flags & IO_URING_F_UNLOCKED)) mutex_unlock(&ctx->uring_lock); } @@ -221,7 +221,7 @@ static inline void io_ring_submit_lock(struct io_ring_ctx *ctx, * The only exception is when we've detached the request and issue it * from an async worker thread, grab the lock for that case. */ - if (issue_flags & IO_URING_F_UNLOCKED) + if (unlikely(issue_flags & IO_URING_F_UNLOCKED)) mutex_lock(&ctx->uring_lock); lockdep_assert_held(&ctx->uring_lock); } |