• Douglas Anderson's avatar
    blk-mq: In blk_mq_dispatch_rq_list() "no budget" is a reason to kick · ab3cee37
    Douglas Anderson authored
    In blk_mq_dispatch_rq_list(), if blk_mq_sched_needs_restart() returns
    true and the driver returns BLK_STS_RESOURCE then we'll kick the
    queue.  However, there's another case where we might need to kick it.
    If we were unable to get budget we can be in much the same state as
    when the driver returns BLK_STS_RESOURCE, so we should treat it the
    same.
    
    It should be noted that even if we add a whole bunch of extra kicking
    to the queue in other patches this patch is still important.
    Specifically any kicking that happened before we re-spliced leftover
    requests into 'hctx->dispatch' wouldn't have found any work, so we
    really need to make sure we kick ourselves after we've done the
    splicing.
    Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
    Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    ab3cee37
blk-mq.c 89.1 KB