On Tue, 29 Jul 2014, Tejun Heo wrote: > I'm not sure that's a viable way forward. It's not like we can > readily trigger the problematic cases which can lead to long pauses > during cpu down. Besides, we need the distinction at the API level, > which is the whole point of this. The best way probably is converting > all the correctness ones (these are the minorities) over to > queue_work_on() so that the per-cpu requirement is explicit. Ok so we would need this fix to avoid the message: Subject: vmstat: use schedule_delayed_work_on to avoid false positives It seems that schedule_delayed_work_on will check for preemption even though none can occur. schedule_delayed_work_on will not do that. So use that function to suppress false positives. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Index: linux/mm/vmstat.c =================================================================== --- linux.orig/mm/vmstat.c 2014-07-29 10:14:42.356988271 -0500 +++ linux/mm/vmstat.c 2014-07-29 10:18:28.205920997 -0500 @@ -1255,7 +1255,8 @@ static void vmstat_update(struct work_st * to occur in the future. Keep on running the * update worker thread. */ - schedule_delayed_work(this_cpu_ptr(&vmstat_work), + schedule_delayed_work_on(smp_processor_id(), + this_cpu_ptr(&vmstat_work), round_jiffies_relative(sysctl_stat_interval)); else { /* -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>