• Jens Axboe's avatar
    io-wq: support concurrent non-blocking work · 895e2ca0
    Jens Axboe authored
    io-wq assumes that work will complete fast (and not block), so it
    doesn't create a new worker when work is enqueued, if we already have
    at least one worker running. This is done on the assumption that if work
    is running, then it will complete fast.
    
    Add an option to force io-wq to fork a new worker for work queued. This
    is signaled by setting IO_WQ_WORK_CONCURRENT on the work item. For that
    case, io-wq will create a new worker, even though workers are already
    running.
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    895e2ca0
io-wq.c 26.3 KB