Re: [PATCH 12/32] nohz: Try not to give the timekeeping duty to a cpuset nohz cpu

Frederic Weisbecker
2011-08-30T22:44:13Z

On Tue, Aug 30, 2011 at 05:37:28PM +0200, Peter Zijlstra wrote:
> On Tue, 2011-08-30 at 17:17 +0200, Frederic Weisbecker wrote:
> > On Mon, Aug 29, 2011 at 04:55:45PM +0200, Peter Zijlstra wrote:
> > > On Mon, 2011-08-15 at 17:52 +0200, Frederic Weisbecker wrote:
> > > > Try to give the timekeeing duty to a CPU that doesn't belong
> > > > to any nohz cpuset when possible, so that we increase the chance
> > > > for these nohz cpusets to run their CPUs out of periodic tick
> > > > mode.
> > >
> > > You and Dmitiri might want to get together:
> > >
> > > lkml.kernel.org/r/20110823195628.GB4533@sgi.com
> >
> > Right!
> >
> > There is another missing piece in my patchset. If every non adaptive-nohz
> > CPUs are sleeping, then none is handling the do_timer duty and adaptive nohz
> > CPUs run with a stale jiffies and walltime.
>
> Doesn't nohz already deal with the case of all cpus being idle? In that
> case the cpu that wakes up first gets to play catch up on irq_enter() or
> so.

Sure and that works for the nohz idle case. But that's not enough anymore
in the case of adaptive nohz CPUs. They can run for a while without the tick
and if nobody else maintains a tick either then jiffies and walltime are
not maintained anymore.