]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
io_uring: refactor io_submit_flush_completions()
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 17 Jun 2021 17:14:00 +0000 (18:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Sep 2021 08:00:34 +0000 (10:00 +0200)
[ Upstream commit 2a2758f26df519fab011f49d53440382dda8e1a5 ]

struct io_comp_state is always contained in struct io_ring_ctx, don't
pass them into io_submit_flush_completions() separately, it makes the
interface cleaner and simplifies it for the compiler.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/44d6ca57003a82484338e95197024dbd65a1b376.1623949695.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/io_uring.c

index f6ddc7182943d2ad86b95c37f8c7f3028e13b943..788ba4f3730f052b76dab11382221af9d8299d6d 100644 (file)
@@ -1060,8 +1060,7 @@ static void __io_queue_sqe(struct io_kiocb *req);
 static void io_rsrc_put_work(struct work_struct *work);
 
 static void io_req_task_queue(struct io_kiocb *req);
-static void io_submit_flush_completions(struct io_comp_state *cs,
-                                       struct io_ring_ctx *ctx);
+static void io_submit_flush_completions(struct io_ring_ctx *ctx);
 static bool io_poll_remove_waitqs(struct io_kiocb *req);
 static int io_req_prep_async(struct io_kiocb *req);
 
@@ -1901,7 +1900,7 @@ static void ctx_flush_and_put(struct io_ring_ctx *ctx)
                return;
        if (ctx->submit_state.comp.nr) {
                mutex_lock(&ctx->uring_lock);
-               io_submit_flush_completions(&ctx->submit_state.comp, ctx);
+               io_submit_flush_completions(ctx);
                mutex_unlock(&ctx->uring_lock);
        }
        percpu_ref_put(&ctx->refs);
@@ -2147,9 +2146,9 @@ static void io_req_free_batch(struct req_batch *rb, struct io_kiocb *req,
                list_add(&req->compl.list, &state->comp.free_list);
 }
 
-static void io_submit_flush_completions(struct io_comp_state *cs,
-                                       struct io_ring_ctx *ctx)
+static void io_submit_flush_completions(struct io_ring_ctx *ctx)
 {
+       struct io_comp_state *cs = &ctx->submit_state.comp;
        int i, nr = cs->nr;
        struct io_kiocb *req;
        struct req_batch rb;
@@ -6462,7 +6461,7 @@ static void __io_queue_sqe(struct io_kiocb *req)
 
                        cs->reqs[cs->nr++] = req;
                        if (cs->nr == ARRAY_SIZE(cs->reqs))
-                               io_submit_flush_completions(cs, ctx);
+                               io_submit_flush_completions(ctx);
                } else {
                        io_put_req(req);
                }
@@ -6676,7 +6675,7 @@ static void io_submit_state_end(struct io_submit_state *state,
        if (state->link.head)
                io_queue_sqe(state->link.head);
        if (state->comp.nr)
-               io_submit_flush_completions(&state->comp, ctx);
+               io_submit_flush_completions(ctx);
        if (state->plug_started)
                blk_finish_plug(&state->plug);
        io_state_file_put(state);