diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2024-04-10 02:26:53 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-04-15 08:10:26 -0600 |
commit | 408024b959275ba52c233c647901cacfc8d5a226 (patch) | |
tree | fcc9281bb6d7c0928313102f707cf26083dfde92 | |
parent | e45ec969d17acb0a1bea78c9c6c4403fceccd599 (diff) | |
download | linux-stable-408024b959275ba52c233c647901cacfc8d5a226.tar.gz linux-stable-408024b959275ba52c233c647901cacfc8d5a226.tar.bz2 linux-stable-408024b959275ba52c233c647901cacfc8d5a226.zip |
io_uring: open code io_cqring_overflow_flush()
There is only one caller of io_cqring_overflow_flush(), open code it
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/a1fecd56d9dba923ed8d4d159727fa939d3baa2a.1712708261.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | io_uring/io_uring.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 885f701983d7..740bfec10fde 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -726,12 +726,6 @@ static void io_cqring_do_overflow_flush(struct io_ring_ctx *ctx) mutex_unlock(&ctx->uring_lock); } -static void io_cqring_overflow_flush(struct io_ring_ctx *ctx) -{ - if (test_bit(IO_CHECK_CQ_OVERFLOW_BIT, &ctx->check_cq)) - io_cqring_do_overflow_flush(ctx); -} - /* can be called by any task */ static void io_put_task_remote(struct task_struct *task) { @@ -2452,8 +2446,9 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events, if (!llist_empty(&ctx->work_llist)) io_run_local_work(ctx, min_events); io_run_task_work(); - io_cqring_overflow_flush(ctx); - /* if user messes with these they will just get an early return */ + + if (unlikely(test_bit(IO_CHECK_CQ_OVERFLOW_BIT, &ctx->check_cq))) + io_cqring_do_overflow_flush(ctx); if (__io_cqring_events_user(ctx) >= min_events) return 0; |