workqueue: schedule WORK_CPU_UNBOUND work on wq_unbound_cpumask CPUs
authorMike Galbraith <umgwanakikbuti@gmail.com>
Tue, 9 Feb 2016 22:59:38 +0000 (17:59 -0500)
committerTejun Heo <tj@kernel.org>
Tue, 9 Feb 2016 22:59:38 +0000 (17:59 -0500)
commitef557180447fa9a7a0affd3abb21ecceb4b5e125
treeb55840888c855b2c605df724a3b647ee82543622
parent041bd12e272c53a35c54c13875839bcb98c999ce
workqueue: schedule WORK_CPU_UNBOUND work on wq_unbound_cpumask CPUs

WORK_CPU_UNBOUND work items queued to a bound workqueue always run
locally.  This is a good thing normally, but not when the user has
asked us to keep unbound work away from certain CPUs.  Round robin
these to wq_unbound_cpumask CPUs instead, as perturbation avoidance
trumps performance.

tj: Cosmetic and comment changes.  WARN_ON_ONCE() dropped from empty
    (wq_unbound_cpumask AND cpu_online_mask).  If we want that, it
    should be done when config changes.

Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/workqueue.c