• J
    io-wq: add support for bounded vs unbunded work · 43cfd4cb
    Jens Axboe 提交于
    commit c5def4ab849494d3c97f6c9fc84b2ddb868fe78c upstream.
    
    io_uring supports request types that basically have two different
    lifetimes:
    
    1) Bounded completion time. These are requests like disk reads or writes,
       which we know will finish in a finite amount of time.
    2) Unbounded completion time. These are generally networked IO, where we
       have no idea how long they will take to complete. Another example is
       POLL commands.
    
    This patch provides support for io-wq to handle these differently, so we
    don't starve bounded requests by tying up workers for too long. By default
    all work is bounded, unless otherwise specified in the work item.
    Signed-off-by: NJens Axboe <axboe@kernel.dk>
    Signed-off-by: NJoseph Qi <joseph.qi@linux.alibaba.com>
    Reviewed-by: NXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
    43cfd4cb
io_uring.c 110.9 KB