io-wq: assign NUMA node locality if appropriate
authorJens Axboe <axboe@kernel.dk>
Thu, 15 Oct 2020 16:13:07 +0000 (10:13 -0600)
committerJens Axboe <axboe@kernel.dk>
Sat, 17 Oct 2020 15:25:44 +0000 (09:25 -0600)
There was an assumption that kthread_create_on_node() would properly set
NUMA affinities in terms of CPUs allowed, but it doesn't. Make sure we
do this when creating an io-wq context on NUMA.

Cc: stable@vger.kernel.org
Stefan Metzmacher <metze@samba.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io-wq.c

index 0a182f1..149fd2f 100644 (file)
@@ -676,6 +676,7 @@ static bool create_io_worker(struct io_wq *wq, struct io_wqe *wqe, int index)
                kfree(worker);
                return false;
        }
+       kthread_bind_mask(worker->task, cpumask_of_node(wqe->node));
 
        raw_spin_lock_irq(&wqe->lock);
        hlist_nulls_add_head_rcu(&worker->nulls_node, &wqe->free_list);