io_uring: kill io_run_task_work_ctx
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 5 Jan 2023 11:22:22 +0000 (11:22 +0000)
committerJens Axboe <axboe@kernel.dk>
Sun, 29 Jan 2023 22:17:39 +0000 (15:17 -0700)
There is only one user of io_run_task_work_ctx(), inline it.

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

index dfc94654e08206a58cfac72832aa123d4793fce9..5326e2d94055e7c3b2169fbd1055b3f0161e3702 100644 (file)
@@ -2455,7 +2455,11 @@ static int io_wake_function(struct wait_queue_entry *curr, unsigned int mode,
 
 int io_run_task_work_sig(struct io_ring_ctx *ctx)
 {
-       if (io_run_task_work_ctx(ctx) > 0)
+       if (!llist_empty(&ctx->work_llist)) {
+               if (io_run_local_work(ctx) > 0)
+                       return 1;
+       }
+       if (io_run_task_work() > 0)
                return 1;
        if (task_sigpending(current))
                return -EINTR;
index 7607a4992a943e2eb37933697f4ebf90c9801046..9d36271eb6d3939f9c8f868184551ebedbb49772 100644 (file)
@@ -284,26 +284,6 @@ static inline bool io_task_work_pending(struct io_ring_ctx *ctx)
        return task_work_pending(current) || !wq_list_empty(&ctx->work_llist);
 }
 
-static inline int io_run_task_work_ctx(struct io_ring_ctx *ctx)
-{
-       int ret = 0;
-       int ret2;
-
-       if (!llist_empty(&ctx->work_llist))
-               ret = io_run_local_work(ctx);
-
-       /* want to run this after in case more is added */
-       ret2 = io_run_task_work();
-
-       /* Try propagate error in favour of if tasks were run,
-        * but still make sure to run them if requested
-        */
-       if (ret >= 0)
-               ret += ret2;
-
-       return ret;
-}
-
 static inline int io_run_local_work_locked(struct io_ring_ctx *ctx)
 {
        bool locked;