OSDN Git Service

blk-mq: don't check queue mapped in __blk_mq_delay_run_hw_queue()
authorMing Lei <ming.lei@redhat.com>
Sun, 8 Apr 2018 09:48:12 +0000 (17:48 +0800)
committerJens Axboe <axboe@kernel.dk>
Tue, 10 Apr 2018 14:38:46 +0000 (08:38 -0600)
commitefea8450c3d2d3918029b36f59ef612be57d91ae
tree93916cc4cb8e68cf09b5f22d223b2a2ff7272bcc
parent15fe8a90bb45b953ca36f074194fcb519a05fdec
blk-mq: don't check queue mapped in __blk_mq_delay_run_hw_queue()

There are several reasons for removing the check:

1) blk_mq_hw_queue_mapped() returns true always now since each hctx
may be mapped by one CPU at least

2) when there isn't any online CPU mapped to this hctx, there won't
be any IO queued to this CPU, blk_mq_run_hw_queue() only runs queue
if there is IO queued to this hctx

3) If __blk_mq_delay_run_hw_queue() is called by blk_mq_delay_run_hw_queue(),
which is run from blk_mq_dispatch_rq_list() or scsi_mq_get_budget(), and
the hctx to be handled has to be mapped.

Cc: Stefan Haberland <sth@linux.vnet.ibm.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c