diff options
Diffstat (limited to 'block/blk-mq-cpumap.c')
-rw-r--r-- | block/blk-mq-cpumap.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/block/blk-mq-cpumap.c b/block/blk-mq-cpumap.c index 5d0f93cf358c..0daacb927be1 100644 --- a/block/blk-mq-cpumap.c +++ b/block/blk-mq-cpumap.c | |||
@@ -96,3 +96,19 @@ unsigned int *blk_mq_make_queue_map(struct blk_mq_tag_set *set) | |||
96 | kfree(map); | 96 | kfree(map); |
97 | return NULL; | 97 | return NULL; |
98 | } | 98 | } |
99 | |||
100 | /* | ||
101 | * We have no quick way of doing reverse lookups. This is only used at | ||
102 | * queue init time, so runtime isn't important. | ||
103 | */ | ||
104 | int blk_mq_hw_queue_to_node(unsigned int *mq_map, unsigned int index) | ||
105 | { | ||
106 | int i; | ||
107 | |||
108 | for_each_possible_cpu(i) { | ||
109 | if (index == mq_map[i]) | ||
110 | return cpu_to_node(i); | ||
111 | } | ||
112 | |||
113 | return NUMA_NO_NODE; | ||
114 | } | ||