io_uring: inline __io_cq_unlock
authorPavel Begunkov <asml.silence@gmail.com>
Fri, 23 Jun 2023 11:23:29 +0000 (12:23 +0100)
committerJens Axboe <axboe@kernel.dk>
Fri, 23 Jun 2023 14:19:40 +0000 (08:19 -0600)
__io_cq_unlock is not very helpful, and users should be calling flush
variants anyway. Open code the function.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/d875c4cfb69f38ccecb58a57111446c77a614caa.1687518903.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring.c

index 8cb0f60..39d83b6 100644 (file)
@@ -631,12 +631,6 @@ static inline void __io_cq_lock(struct io_ring_ctx *ctx)
                spin_lock(&ctx->completion_lock);
 }
 
-static inline void __io_cq_unlock(struct io_ring_ctx *ctx)
-{
-       if (!ctx->task_complete)
-               spin_unlock(&ctx->completion_lock);
-}
-
 static inline void io_cq_lock(struct io_ring_ctx *ctx)
        __acquires(ctx->completion_lock)
 {
@@ -647,7 +641,9 @@ static inline void io_cq_lock(struct io_ring_ctx *ctx)
 static inline void __io_cq_unlock_post(struct io_ring_ctx *ctx)
 {
        io_commit_cqring(ctx);
-       __io_cq_unlock(ctx);
+       if (!ctx->task_complete)
+               spin_unlock(&ctx->completion_lock);
+
        io_commit_cqring_flush(ctx);
        io_cqring_wake(ctx);
 }
@@ -664,7 +660,7 @@ static void __io_cq_unlock_post_flush(struct io_ring_ctx *ctx)
                 */
                io_commit_cqring_flush(ctx);
        } else {
-               __io_cq_unlock(ctx);
+               spin_unlock(&ctx->completion_lock);
                io_commit_cqring_flush(ctx);
                io_cqring_wake(ctx);
        }