Re: vmstat: make vmstat_updater deferrable again and shut down on idle

From: Christoph Lameter
Date: Thu Dec 10 2015 - 20:41:48 EST


On Thu, 10 Dec 2015, Andrew Morton wrote:

> > /*
> > + * Switch off vmstat processing and then fold all the remaining differentials
> > + * until the diffs stay at zero. The function is used by NOHZ and can only be
> > + * invoked when tick processing is not active.
> > + */
> > +void quiet_vmstat(void)
> > +{
> > + do {
> > + if (!cpumask_test_and_set_cpu(smp_processor_id(), cpu_stat_off))
> > + cancel_delayed_work(this_cpu_ptr(&vmstat_work));
> > +
> > + } while (refresh_cpu_vm_stats(false));
> > +}
>
> How do we know this will terminate in a reasonable amount of time if
> other CPUs are pounding away?

This is only dealing with the differentials of the local cpu. Other cpus
do not matter.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/