summaryrefslogtreecommitdiffstats
path: root/block/blk-mq-pci.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2018-10-29 15:06:14 -0400
committerJens Axboe <axboe@kernel.dk>2018-11-07 15:44:59 -0500
commited76e329d74a4b15ac0f5fd3adbd52ec0178a134 (patch)
tree628ce9d3ac0997faef04f2d9e4f4d169594fe366 /block/blk-mq-pci.c
parenta8908939af569ce2419f43fd56eeaf003bc3d85d (diff)
blk-mq: abstract out queue map
This is in preparation for allowing multiple sets of maps per queue, if so desired. Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-mq-pci.c')
-rw-r--r--block/blk-mq-pci.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/block/blk-mq-pci.c b/block/blk-mq-pci.c
index db644ec624f5..40333d60a850 100644
--- a/block/blk-mq-pci.c
+++ b/block/blk-mq-pci.c
@@ -31,26 +31,26 @@
31 * that maps a queue to the CPUs that have irq affinity for the corresponding 31 * that maps a queue to the CPUs that have irq affinity for the corresponding
32 * vector. 32 * vector.
33 */ 33 */
34int blk_mq_pci_map_queues(struct blk_mq_tag_set *set, struct pci_dev *pdev, 34int blk_mq_pci_map_queues(struct blk_mq_queue_map *qmap, struct pci_dev *pdev,
35 int offset) 35 int offset)
36{ 36{
37 const struct cpumask *mask; 37 const struct cpumask *mask;
38 unsigned int queue, cpu; 38 unsigned int queue, cpu;
39 39
40 for (queue = 0; queue < set->nr_hw_queues; queue++) { 40 for (queue = 0; queue < qmap->nr_queues; queue++) {
41 mask = pci_irq_get_affinity(pdev, queue + offset); 41 mask = pci_irq_get_affinity(pdev, queue + offset);
42 if (!mask) 42 if (!mask)
43 goto fallback; 43 goto fallback;
44 44
45 for_each_cpu(cpu, mask) 45 for_each_cpu(cpu, mask)
46 set->mq_map[cpu] = queue; 46 qmap->mq_map[cpu] = queue;
47 } 47 }
48 48
49 return 0; 49 return 0;
50 50
51fallback: 51fallback:
52 WARN_ON_ONCE(set->nr_hw_queues > 1); 52 WARN_ON_ONCE(qmap->nr_queues > 1);
53 blk_mq_clear_mq_map(set); 53 blk_mq_clear_mq_map(qmap);
54 return 0; 54 return 0;
55} 55}
56EXPORT_SYMBOL_GPL(blk_mq_pci_map_queues); 56EXPORT_SYMBOL_GPL(blk_mq_pci_map_queues);