]> git.baikalelectronics.ru Git - kernel.git/commit
workqueue: determine NUMA node of workers accourding to the allowed cpumask
authorTejun Heo <tj@kernel.org>
Mon, 1 Apr 2013 18:23:34 +0000 (11:23 -0700)
committerTejun Heo <tj@kernel.org>
Mon, 1 Apr 2013 18:23:34 +0000 (11:23 -0700)
commit98cb69e362d7ffa91e43676976d6a128e61c97bc
tree3780e2ca6be5b8576ba1eda4820b3e13f877af07
parentaf83ba89344d1a4e874e94b8f002a696a3a5c4ec
workqueue: determine NUMA node of workers accourding to the allowed cpumask

When worker tasks are created using kthread_create_on_node(),
currently only per-cpu ones have the matching NUMA node specified.
All unbound workers are always created with NUMA_NO_NODE.

Now that an unbound worker pool may have an arbitrary cpumask
associated with it, this isn't optimal.  Add pool->node which is
determined by the pool's cpumask.  If the pool's cpumask is contained
inside a NUMA node proper, the pool is associated with that node, and
all workers of the pool are created on that node.

This currently only makes difference for unbound worker pools with
cpumask contained inside single NUMA node, but this will serve as
foundation for making all unbound pools NUMA-affine.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Lai Jiangshan <laijs@cn.fujitsu.com>
kernel/workqueue.c