sbitmap: allocate wait queues on a specific node
authorOmar Sandoval <osandov@fb.com>
Sat, 17 Sep 2016 08:28:22 +0000 (01:28 -0700)
committerJens Axboe <axboe@fb.com>
Sat, 17 Sep 2016 14:39:08 +0000 (08:39 -0600)
The original bt_alloc() we converted from was using kzalloc(), not
kzalloc_node(), to allocate the wait queues. This was probably an
oversight, so fix it for sbitmap_queue_init_node().

Signed-off-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
lib/sbitmap.c

index dfc084a..4d8e97e 100644 (file)
@@ -208,7 +208,7 @@ int sbitmap_queue_init_node(struct sbitmap_queue *sbq, unsigned int depth,
        sbq->wake_batch = sbq_calc_wake_batch(depth);
        atomic_set(&sbq->wake_index, 0);
 
-       sbq->ws = kzalloc(SBQ_WAIT_QUEUES * sizeof(*sbq->ws), flags);
+       sbq->ws = kzalloc_node(SBQ_WAIT_QUEUES * sizeof(*sbq->ws), flags, node);
        if (!sbq->ws) {
                sbitmap_free(&sbq->sb);
                return -ENOMEM;