io_uring/io-wq: ignore non-busy worker going to sleep
authorJens Axboe <axboe@kernel.dk>
Fri, 23 May 2025 12:05:37 +0000 (06:05 -0600)
committerJens Axboe <axboe@kernel.dk>
Fri, 23 May 2025 12:14:07 +0000 (06:14 -0600)
commit8343cae362e147a5d4505c2da0e161a4d9e9fbde
tree598521d756060531b0db05c4bb337ad85b8240ca
parente37dfc0530815ead6e8ddab2a4ccce3be31af954
io_uring/io-wq: ignore non-busy worker going to sleep

When an io-wq worker goes to sleep, it checks if there's work to do.
If there is, it'll create a new worker. But if this worker is currently
idle, it'll either get woken right back up immediately, or someone
else has already created the necessary worker to handle this work.

Only go through the worker creation logic if the current worker is
currently handling a work item. That means it's being scheduled out as
part of handling that work, not just going to sleep on its own.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io-wq.c