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 <[email protected]>

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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to