workqueue: update sysfs interface to reflect NUMA awareness and a kernel param to...
authorTejun Heo <tj@kernel.org>
Mon, 1 Apr 2013 18:23:38 +0000 (11:23 -0700)
committerTejun Heo <tj@kernel.org>
Mon, 1 Apr 2013 18:23:38 +0000 (11:23 -0700)
commitd55262c4d164759a8debe772da6c9b16059dec47
tree2dffae0287567802a05e3290048195ea277d22ae
parent4c16bd327c74d6678858706211a0c6e4e53eb3e6
workqueue: update sysfs interface to reflect NUMA awareness and a kernel param to disable NUMA affinity

Unbound workqueues are now NUMA aware.  Let's add some control knobs
and update sysfs interface accordingly.

* Add kernel param workqueue.numa_disable which disables NUMA affinity
  globally.

* Replace sysfs file "pool_id" with "pool_ids" which contain
  node:pool_id pairs.  This change is userland-visible but "pool_id"
  hasn't seen a release yet, so this is okay.

* Add a new sysf files "numa" which can toggle NUMA affinity on
  individual workqueues.  This is implemented as attrs->no_numa whichn
  is special in that it isn't part of a pool's attributes.  It only
  affects how apply_workqueue_attrs() picks which pools to use.

After "pool_ids" change, first_pwq() doesn't have any user left.
Removed.

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