summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonsoo Kim <js1304@gmail.com>2012-08-15 23:25:41 +0900
committerTejun Heo <tj@kernel.org>2012-08-16 14:21:16 -0700
commit7635d2fd7f0fa63b6ec03050614c314d7139f14a (patch)
tree8d8d0387e6f791ed67ad5d23dfe0fb93a1615337
parente2b6a6d570f070aa90ac00d2d10b1488512f8520 (diff)
downloadlinux-3.10-7635d2fd7f0fa63b6ec03050614c314d7139f14a.tar.gz
linux-3.10-7635d2fd7f0fa63b6ec03050614c314d7139f14a.tar.bz2
linux-3.10-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>
-rw-r--r--kernel/workqueue.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 8936761b814..7da24711038 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;
}