summaryrefslogtreecommitdiffstats
path: root/include/linux/blk-mq.h
diff options
context:
space:
mode:
authorChristoph Hellwig2016-09-14 16:18:53 +0200
committerJens Axboe2016-09-15 16:42:03 +0200
commitbdd17e75cd97c5c39feee409890a91d0396640fe (patch)
treea7b6b01aa305d466e83255caa08670391c294b33 /include/linux/blk-mq.h
parentblk-mq: don't redistribute hardware queues on a CPU hotplug event (diff)
downloadkernel-qcow2-linux-bdd17e75cd97c5c39feee409890a91d0396640fe.tar.gz
kernel-qcow2-linux-bdd17e75cd97c5c39feee409890a91d0396640fe.tar.xz
kernel-qcow2-linux-bdd17e75cd97c5c39feee409890a91d0396640fe.zip
blk-mq: only allocate a single mq_map per tag_set
The mapping is identical for all queues in a tag_set, so stop wasting memory for building multiple. Note that for now I've kept the mq_map pointer in the request_queue, but we'll need to investigate if we can remove it without suffering too much from the additional pointer chasing. The same would apply to the mq_ops pointer as well. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include/linux/blk-mq.h')
-rw-r--r--include/linux/blk-mq.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h
index 60ef14cbcd2d..deda16a9bde4 100644
--- a/include/linux/blk-mq.h
+++ b/include/linux/blk-mq.h
@@ -67,6 +67,7 @@ struct blk_mq_hw_ctx {
};
struct blk_mq_tag_set {
+ unsigned int *mq_map;
struct blk_mq_ops *ops;
unsigned int nr_hw_queues;
unsigned int queue_depth; /* max hw supported */