mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
io_uring: return back links tw run optimisation
io_submit_flush_completions() may queue new requests for tw execution,
especially true for linked requests. Recheck the tw list for emptiness
after flushing completions.
Note that this doesn't really fix the commit referenced below, but it
does reinstate an optimization that existed before that got merged.
Fixes: f88262e60b ("io_uring: lockless task list")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/6328acdbb5e60efc762b18003382de077e6e1367.1673887636.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
committed by
Jens Axboe
parent
88b80534f6
commit
b0b7a7d24b
@@ -1344,8 +1344,11 @@ again:
|
||||
|
||||
if (!llist_empty(&ctx->work_llist))
|
||||
goto again;
|
||||
if (*locked)
|
||||
if (*locked) {
|
||||
io_submit_flush_completions(ctx);
|
||||
if (!llist_empty(&ctx->work_llist))
|
||||
goto again;
|
||||
}
|
||||
trace_io_uring_local_work_run(ctx, ret, loops);
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user