]> www.infradead.org Git - users/jedix/linux-maple.git/commit
io-wq: split bounded and unbounded work into separate lists
authorJens Axboe <axboe@kernel.dk>
Tue, 31 Aug 2021 19:57:32 +0000 (13:57 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 31 Aug 2021 20:00:04 +0000 (14:00 -0600)
commita64296d76b9d04d3b37fae6f6fcb5e7f53b4f91a
tree25a3e73347626cfc1892a81d27fc91ea67bbf10f
parent0242f6426ea78fbe3933b44f8c55ae93ec37f6cc
io-wq: split bounded and unbounded work into separate lists

We've got a few issues that all boil down to the fact that we have one
list of pending work items, yet two different types of workers to
serve them. This causes some oddities around workers switching type and
even hashed work vs regular work on the same bounded list.

Just separate them out cleanly, similarly to how we already do
accounting of what is running. That provides a clean separation and
removes some corner cases that can cause stalls when handling IO
that is punted to io-wq.

Fixes: ecc53c48c13d ("io-wq: check max_worker limits if a worker transitions bound state")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io-wq.c