mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-01 10:42:11 +00:00
io_uring: handle traditional task_work in FIFO order
For local task_work, which is used if IORING_SETUP_DEFER_TASKRUN is set, we reverse the order of the lockless list before processing the work. This is done to process items in the order in which they were queued, as the llist always adds to the head. Do the same for traditional task_work, so we have the same behavior for both types. Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
4c98b89175
commit
170539bdf1
@ -1266,7 +1266,7 @@ void tctx_task_work(struct callback_head *cb)
|
||||
|
||||
node = llist_del_all(&tctx->task_list);
|
||||
if (node)
|
||||
count = handle_tw_list(node, &ctx, &ts);
|
||||
count = handle_tw_list(llist_reverse_order(node), &ctx, &ts);
|
||||
|
||||
ctx_flush_and_put(ctx, &ts);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user