Re: [PATCH 07/10] nohz: Enforce timekeeping on CPU 0

From: Peter Zijlstra
Date: Sat Jul 19 2014 - 14:31:41 EST


On Sat, Jul 19, 2014 at 01:31:25PM -0400, Nicolas Pitre wrote:
> On Sat, 19 Jul 2014, Frederic Weisbecker wrote:
>
> > The timekeeper gets initialized to the value of the CPU where the
> > first clockevent device is setup. This works well because the timekeeper
> > can be any online CPU in most configs.
> >
> > Full dynticks has its own requirement though and needs the timekeeper
> > to always be 0. And this requirement seem to accomodate pretty well with
> > the above described boot timekeeper setting because the first clockevent
> > device happens to be initialized, most of the time, on the boot CPU
> > (which should be CPU 0).
>
> This might have been discussed before... but this isn't ARM big.LITTLE
> friendly at all.
>
> Could we accommodate for any arbitrary CPU instead of making CPU 0
> "special" other than its role as the boot CPU please? It doesn't have
> to be completely dynamic, but CPU 0 might be a really bad choice for
> ongoing periodic duties in some configurations. For example, we might
> highly prefer to do this on CPU 4 for power efficiency reasons once it
> is online and keep CPU 0 in a deep C-state as much as possible.

This is because CPU0 can be a big core, right? IIRC this is done because
a big core as boot cpu, boots faster and some people think boot time is
relevant.
--
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/