• J
    io-wq: split bounded and unbounded work into separate lists · f95dc207
    Jens Axboe 提交于
    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: ecc53c48 ("io-wq: check max_worker limits if a worker transitions bound state")
    Signed-off-by: NJens Axboe <axboe@kernel.dk>
    f95dc207
io-wq.c 28.0 KB