diff options
author | Mitch Luban <mluban@nvidia.com> | 2012-07-25 12:59:04 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-08-13 14:49:54 -0700 |
commit | 9dfdd9ac17ac9955b431cb962df3d0492384ba0e (patch) | |
tree | 0f574137ba9f6aa72fc71f21b5ed2dce379e6863 /include/trace/events/workqueue.h | |
parent | e544986d7df1e748bd5d1b12739da4ed5ab23341 (diff) |
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>
Diffstat (limited to 'include/trace/events/workqueue.h')
-rw-r--r-- | include/trace/events/workqueue.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/trace/events/workqueue.h b/include/trace/events/workqueue.h index 7d497291c85d..82f61f4ce7a7 100644 --- a/include/trace/events/workqueue.h +++ b/include/trace/events/workqueue.h @@ -54,7 +54,7 @@ TRACE_EVENT(workqueue_queue_work, __entry->function = work->func; __entry->workqueue = cwq->wq; __entry->req_cpu = req_cpu; - __entry->cpu = cwq->gcwq->cpu; + __entry->cpu = cwq->pool->gcwq->cpu; ), TP_printk("work struct=%p function=%pf workqueue=%p req_cpu=%u cpu=%u", |