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

From: Nicolas Pitre
Date: Sat Jul 19 2014 - 14:47:18 EST


On Sat, 19 Jul 2014, Peter Zijlstra wrote:

> 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.

People think all sorts of things. And it becomes very irritating when
thoughtful assumptions get burned into ROM for example. We should be
able to do better in the kernel.


Nicolas
--
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/