diff options
| author | Jens Axboe <axboe@kernel.dk> | 2026-06-15 13:43:16 -0600 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2026-06-16 09:48:00 -0600 |
| commit | ca4aa97194ae353c2882d7cb4ed123a544892bcf (patch) | |
| tree | 6847313caee411c23aba37bf5bbce3e51a0ef9e5 /include/linux/timerqueue.h | |
| parent | c554246ff4c68abf71b61a89c6e39d3cf94f523e (diff) | |
io_uring: get rid of tw_pending for !DEFER task work
The normal task_work path used a tw_pending bit to ensure the callback
was only added once: the mpscq drains incrementally, so a single
tctx_task_work() run can take the queue through empty -> non-empty
several times, and each transition would otherwise re-add the already
pending callback_head. This corrupts the task_work list, and is what
tw_pending protects again.
This can go away, if we stop running the task_work as soon as the queue
empties.
Suggested-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Caleb Sander Mateos <csander@purestorage.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
