summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2018-04-08 11:48:13 +0200
committerJens Axboe <axboe@kernel.dk>2018-04-10 16:38:46 +0200
commit127276c6ce5a30fcc806b7fe53015f4f89b62956 (patch)
tree7d503a3a1ecaa0c67fcd7c6e349b7845cfb0d9fa
parentblk-mq: don't check queue mapped in __blk_mq_delay_run_hw_queue() (diff)
downloadlinux-127276c6ce5a30fcc806b7fe53015f4f89b62956.tar.xz
linux-127276c6ce5a30fcc806b7fe53015f4f89b62956.zip
blk-mq: reimplement blk_mq_hw_queue_mapped
Now the actual meaning of queue mapped is that if there is any online CPU mapped to this hctx, so implement blk_mq_hw_queue_mapped() in this way. 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>
-rw-r--r--block/blk-mq.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/blk-mq.h b/block/blk-mq.h
index 88c558f71819..502af371b83b 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -181,7 +181,7 @@ static inline bool blk_mq_hctx_stopped(struct blk_mq_hw_ctx *hctx)
static inline bool blk_mq_hw_queue_mapped(struct blk_mq_hw_ctx *hctx)
{
- return hctx->nr_ctx && hctx->tags;
+ return cpumask_first_and(hctx->cpumask, cpu_online_mask) < nr_cpu_ids;
}
void blk_mq_in_flight(struct request_queue *q, struct hd_struct *part,