Skip to content
  • Ming Lei's avatar
    block: loop: use kthread_work · e03a3d7a
    Ming Lei authored
    The following patch will use dio/aio to submit IO to backing file,
    then it needn't to schedule IO concurrently from work, so
    use kthread_work for decreasing context switch cost a lot.
    
    For non-AIO case, single thread has been used for long long time,
    and it was just converted to work in v4.0, which has caused performance
    regression for fedora live booting already. In discussion[1], even
    though submitting I/O via work concurrently can improve random read IO
    throughput, meantime it might hurt sequential read IO performance, so
    better to restore to single thread behaviour.
    
    For the following AIO support, it is better to use multi hw-queue
    with per-hwq kthread than current work approach suppose there is so
    high performance requirement for loop.
    
    [1] http://marc.info/?t=143082678400002&r=1&w=2
    
    
    
    Signed-off-by: default avatarMing Lei <ming.lei@canonical.com>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    e03a3d7a