]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
io-wq: assign NUMA node locality if appropriate
authorJens Axboe <axboe@kernel.dk>
Thu, 15 Oct 2020 16:13:07 +0000 (10:13 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Nov 2020 10:51:34 +0000 (11:51 +0100)
commit a8b595b22d31f83b715511f59012f152a269d83b upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/io-wq.c

index 19db17e99cf960ce74cce91ae5584e4f6ef79369..5ad65b30593676a417bcdb728740429d88276eb9 100644 (file)
@@ -654,6 +654,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);