History

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.

Joonsoo Kim committed 14 years ago

Commit 7635d2f1 parent e2b6a6d1 file · +1 −1Browse files

Showing the changes to kernel/workqueue.c (1 of 1 file). Show all

Unified · Split

kernel/workqueue.c+1−1
@@ -3680,7 +3680,7 @@ static int __devinit workqueue_cpu_down_callback(struct notifier_block *nfb, · 3679 unmodified lines
36803680 case CPU_DOWN_PREPARE:
36813681 /* unbinding should happen on the local CPU */
36823682 INIT_WORK_ONSTACK(&unbind_work, gcwq_unbind_fn);
3683− schedule_work_on(cpu, &unbind_work);
3683+ queue_work_on(cpu, system_highpri_wq, &unbind_work);
36843684 flush_work(&unbind_work);
36853685 break;
36863686 }