Re: [v6 PATCH 0/7]: cpuidle/x86/POWER: Cleanup idle powermanagement code in x86, cleanup drivers/cpuidle/cpuidle.c and introducecpuidle to POWER.

From: Arjan van de Ven
Date: Fri Sep 25 2009 - 05:36:34 EST


On Fri, 25 Sep 2009 10:54:24 +0200
Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:

> On Fri, 2009-09-25 at 12:36 +0530, Vaidyanathan Srinivasan wrote:
> > * Arjan van de Ven <arjan@xxxxxxxxxxxxx> [2009-09-24 14:22:28]:
> >
> > > On Thu, 24 Sep 2009 10:42:41 +0530
> > > Arun R Bharadwaj <arun@xxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > > * Arun R Bharadwaj <arun@xxxxxxxxxxxxxxxxxx> [2009-09-22
> > > > 16:55:27]:
> > > >
> > > > Hi Len, (or other acpi folks),
> > > >
> > > > I had a question regarding ACPI-cpuidle interaction in the
> > > > current implementation.
> > > >
> > > > Currently, every cpu (i.e. acpi_processor) registers to cpuidle
> > > > as a cpuidle_device. So every cpu has to go through the process
> > > > of setting up the idle states and then registering as a cpuidle
> > > > device.
> > > >
> > > > What exactly is the reason behind this?
> > > >
> > >
> > > technically a BIOS can opt to give you C states via ACPI on some
> > > cpus, but not on others.
> > >
> > > in practice when this happens it tends to be a bug.. but it's
> > > technically a valid configuration
> >
> > So we will need to keep the per-cpu registration as of now because
> > we may have such buggy BIOS in the field and we don't want the
> > cpuidle framework to malfunction there.
>
> If the BIOS doesn't mention a certain C state on a cpu, and you try to
> set it anyway, does that go boom?
>
> This whole per-cpu registration thing is horridly ugly, can't you
> have a per-cpu C state exception mask and leave it at that -- if its
> really needed?

the real solution is to make the acpi code always know about C1, even
if the bios doesn't.... That's one for Len :)

(C1 is just "hlt", what we do in the other idle loop ;-)


--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
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/