workqueue: CPU hotplug keep idle workers
authorMitch Luban <mluban@nvidia.com>
Wed, 25 Jul 2012 19:59:04 +0000 (12:59 -0700)
committerVarun Wadekar <vwadekar@nvidia.com>
Thu, 16 Aug 2012 10:42:02 +0000 (15:42 +0530)
commit468011c1e1d998ad87ed82acad0b7538aee296a7
treee104797d38c7bf3d31bbe2dd52c065fbcfab10e7
parenta52e623f21b4455b301f72227bd22c3dd5f0b8db
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/trace/events/workqueue.h
kernel/workqueue.c