diff options
author | Joonsoo Kim <js1304@gmail.com> | 2012-08-15 23:25:41 +0900 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2012-08-16 14:21:16 -0700 |
commit | 7635d2fd7f0fa63b6ec03050614c314d7139f14a (patch) | |
tree | 8d8d0387e6f791ed67ad5d23dfe0fb93a1615337 /kernel/workqueue.c | |
parent | e2b6a6d570f070aa90ac00d2d10b1488512f8520 (diff) | |
download | lwn-7635d2fd7f0fa63b6ec03050614c314d7139f14a.tar.gz lwn-7635d2fd7f0fa63b6ec03050614c314d7139f14a.zip |
workqueue: use system_highpri_wq for unbind_work
To speed cpu down processing up, use system_highpri_wq.
As scheduling priority of workers on it is higher than system_wq and
it is not contended by other normal works on this cpu, work on it
is processed faster than system_wq.
tj: CPU up/downs care quite a bit about latency these days. This
shouldn't hurt anything and makes sense.
Signed-off-by: Joonsoo Kim <js1304@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r-- | kernel/workqueue.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 8936761b814a..7da24711038f 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -3680,7 +3680,7 @@ static int __devinit workqueue_cpu_down_callback(struct notifier_block *nfb, case CPU_DOWN_PREPARE: /* unbinding should happen on the local CPU */ INIT_WORK_ONSTACK(&unbind_work, gcwq_unbind_fn); - schedule_work_on(cpu, &unbind_work); + queue_work_on(cpu, system_highpri_wq, &unbind_work); flush_work(&unbind_work); break; } |