• Harshad Shirwadkar's avatar
    blk-wbt: fix performance regression in wbt scale_up/scale_down · b84477d3
    Harshad Shirwadkar authored
    scale_up wakes up waiters after scaling up. But after scaling max, it
    should not wake up more waiters as waiters will not have anything to
    do. This patch fixes this by making scale_up (and also scale_down)
    return when threshold is reached.
    
    This bug causes increased fdatasync latency when fdatasync and dd
    conv=sync are performed in parallel on 4.19 compared to 4.14. This
    bug was introduced during refactoring of blk-wbt code.
    
    Fixes: a7905043
    
     ("blk-rq-qos: refactor out common elements of blk-wbt")
    Cc: stable@vger.kernel.org
    Cc: Josef Bacik <jbacik@fb.com>
    Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    b84477d3