blk-mq: allocate cpumask on the home node
authorJens Axboe <axboe@fb.com>
Mon, 13 Oct 2014 21:41:54 +0000 (15:41 -0600)
committerJens Axboe <axboe@fb.com>
Mon, 13 Oct 2014 21:41:54 +0000 (15:41 -0600)
All other allocs are done on the specific node, somehow the
cpumask for hw queue runs was missed. Fix that by using
zalloc_cpumask_var_node() in blk_mq_init_queue().

Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c

index 4e7a31466139756428f8276aaf4fa74192c86890..79aa11b3efa524e6575bede9199d0ca6585fe45b 100644 (file)
@@ -1802,7 +1802,8 @@ struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *set)
                if (!hctxs[i])
                        goto err_hctxs;
 
-               if (!zalloc_cpumask_var(&hctxs[i]->cpumask, GFP_KERNEL))
+               if (!zalloc_cpumask_var_node(&hctxs[i]->cpumask, GFP_KERNEL,
+                                               node))
                        goto err_hctxs;
 
                atomic_set(&hctxs[i]->nr_active, 0);