summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-09-14 16:18:53 +0200
committerJens Axboe <axboe@fb.com>2016-09-15 08:42:03 -0600
commitbdd17e75cd97c5c39feee409890a91d0396640fe (patch)
treea7b6b01aa305d466e83255caa08670391c294b33 /include
parent4e68a011428af3211facd932b4003b3fa3ef4faa (diff)
downloadlinux-bdd17e75cd97c5c39feee409890a91d0396640fe.tar.gz
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')
-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 */