workqueue: CPU hotplug keep idle workers
authorMitch Luban <mluban@nvidia.com>
Wed, 25 Jul 2012 19:59:04 +0000 (12:59 -0700)
committerSimone Willett <swillett@nvidia.com>
Mon, 13 Aug 2012 21:49:54 +0000 (14:49 -0700)
commit9dfdd9ac17ac9955b431cb962df3d0492384ba0e
tree0f574137ba9f6aa72fc71f21b5ed2dce379e6863
parente544986d7df1e748bd5d1b12739da4ed5ab23341
workqueue: CPU hotplug keep idle workers

This change merges two patchsets. The first set,
containing 6 patches, reimplements WQ_HIGHPRI
to use a seperate worker_pool. gcwq->pools[0]
is used for normal priority work and pools[1]
for high priority.

The second patchset contains 9 patches and
reimplements CPU hotplug to keep idle workers.
Updates workqueue CPU hotplug path to use a
disassociated global_cwq, which runs as an
unbound one (WQ_UNBOUND). While this requires
rebinding idle workers, overall hotplug path
is much simpler.

Original patchset:
http://thread.gmane.org/gmane.linux.kernel/1329164

Bug 978010

Change-Id: Ic66ec8848a8d111b5278e63ef6a410846dfd8fcc
Signed-off-by: Mitch Luban <mluban@nvidia.com>
Reviewed-on: http://git-master/r/118387
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Documentation/workqueue.txt
include/linux/cpu.h
include/trace/events/workqueue.h
kernel/workqueue.c