Skip to content
Commit 49c5c63d authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring: fix task_work cap overshooting



A previous commit fixed task_work overrunning by a lot more than what
the user asked for, by adding a retry list. However, it didn't cap the
overall count, hence for multiple task_work runs inside the same wait
loop, it'd still overshoot the target by potentially a large amount.

Cap it generally inside the wait path. Note that this will still
overshoot the default limit of 20, but should overshoot by no more than
limit-1 in addition to the limit. That still provides a ceiling over how
much task_work will be run, rather than still having gaps where it was
uncapped essentially.

Fixes: f46b9cdb ("io_uring: limit local tw done")
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 0c0a4eae
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment