io_uring: kill io_run_task_work_ctx
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>
This commit is contained in:
Родитель
f36ba6cf1a
Коммит
1414d62985
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче