[GIT PULL] workqueue changes for v3.6-rc1

From: Tejun Heo
Date: Tue Jul 24 2012 - 20:06:20 EST


Hello, Linus.

Please pull from the following branch to receive workqueue changes for
v3.6-rc1.

git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-3.6

There are three major changes.

* WQ_HIGHPRI has been reimplemented so that high priority work items
are served by worker threads with -20 nice value from dedicated
highpri worker pools.

* CPU hotplug support has been reimplemented such that idle workers
are kept across CPU hotplug events. This makes CPU hotplug cheaper
(for PM) and makes the code simpler.

* flush_kthread_work() has been reimplemented so that a work item can
be freed while executing. This removes an annoying behavior
difference between kthread_worker and workqueue.

Thanks.

Tejun Heo (18):
workqueue: don't use WQ_HIGHPRI for unbound workqueues
workqueue: factor out worker_pool from global_cwq
workqueue: use @pool instead of @gcwq or @cpu where applicable
workqueue: separate out worker_pool flags
workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()
workqueue: reimplement WQ_HIGHPRI using a separate worker_pool
workqueue: perform cpu down operations from low priority cpu_notifier()
workqueue: drop CPU_DYING notifier operation
workqueue: ROGUE workers are UNBOUND workers
workqueue: use mutex for global_cwq manager exclusion
workqueue: drop @bind from create_worker()
workqueue: reimplement CPU online rebinding to handle idle workers
workqueue: don't butcher idle workers on an offline CPU
workqueue: remove CPU offline trustee
workqueue: simplify CPU hotplug code
kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation
kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed
workqueue: fix spurious CPU locality WARN from process_one_work()

Documentation/workqueue.txt | 103 ++---
include/linux/cpu.h | 5 +-
include/linux/kthread.h | 8 +-
include/trace/events/workqueue.h | 2 +-
kernel/kthread.c | 88 ++--
kernel/workqueue.c | 1144 ++++++++++++++++++--------------------
6 files changed, 628 insertions(+), 722 deletions(-)

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/