public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [v6 PATCH 0/7]: cpuidle/x86/POWER: Cleanup idle power management code in x86, cleanup drivers/cpuidle/cpuidle.c and introduce cpuidle to POWER.
       [not found] <20090922112526.GA7788@linux.vnet.ibm.com>
@ 2009-09-24  5:12 ` Arun R Bharadwaj
  2009-09-24 12:22   ` Arjan van de Ven
  0 siblings, 1 reply; 6+ messages in thread
From: Arun R Bharadwaj @ 2009-09-24  5:12 UTC (permalink / raw)
  To: Len Brown, Peter Zijlstra, Joel Schopp, Benjamin Herrenschmidt,
	Paul Mackerras
  Cc: linux-acpi, linuxppc-dev, linux-kernel

* Arun R Bharadwaj <arun@linux.vnet.ibm.com> [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?

Is this really necessary or can we have a system-wide one-time registering
to cpuidle by ACPI?

I'm currently in the process of enabling cpuidle for POWER systems and
find that having a system-wide registering mechanism to be a cleaner
design.

--arun

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [v6 PATCH 0/7]: cpuidle/x86/POWER: Cleanup idle power management code in x86, cleanup drivers/cpuidle/cpuidle.c and introduce cpuidle to POWER.
  2009-09-24  5:12 ` [v6 PATCH 0/7]: cpuidle/x86/POWER: Cleanup idle power management code in x86, cleanup drivers/cpuidle/cpuidle.c and introduce cpuidle to POWER Arun R Bharadwaj
@ 2009-09-24 12:22   ` Arjan van de Ven
  2009-09-25  7:06     ` Vaidyanathan Srinivasan
  2009-09-25  7:20     ` Balbir Singh
  0 siblings, 2 replies; 6+ messages in thread
From: Arjan van de Ven @ 2009-09-24 12:22 UTC (permalink / raw)
  To: arun
  Cc: Peter Zijlstra, Gautham R Shenoy, Venkatesh Pallipadi,
	linux-kernel, linux-acpi, Paul Mackerras, Shaohua Li, Ingo Molnar,
	linuxppc-dev, Len Brown

On Thu, 24 Sep 2009 10:42:41 +0530
Arun R Bharadwaj <arun@linux.vnet.ibm.com> wrote:

> * Arun R Bharadwaj <arun@linux.vnet.ibm.com> [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



-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [v6 PATCH 0/7]: cpuidle/x86/POWER: Cleanup idle power management code in x86, cleanup drivers/cpuidle/cpuidle.c and introduce cpuidle to POWER.
  2009-09-24 12:22   ` Arjan van de Ven
@ 2009-09-25  7:06     ` Vaidyanathan Srinivasan
  2009-09-25  8:54       ` Peter Zijlstra
  2009-09-25  7:20     ` Balbir Singh
  1 sibling, 1 reply; 6+ messages in thread
From: Vaidyanathan Srinivasan @ 2009-09-25  7:06 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: arun, Len Brown, Peter Zijlstra, Joel Schopp,
	Benjamin Herrenschmidt, Paul Mackerras, Ingo Molnar,
	Dipankar Sarma, Balbir Singh, Gautham R Shenoy, Shaohua Li,
	Venkatesh Pallipadi, linux-kernel, linuxppc-dev, linux-acpi

* Arjan van de Ven <arjan@infradead.org> [2009-09-24 14:22:28]:

> On Thu, 24 Sep 2009 10:42:41 +0530
> Arun R Bharadwaj <arun@linux.vnet.ibm.com> wrote:
> 
> > * Arun R Bharadwaj <arun@linux.vnet.ibm.com> [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.

--Vaidy



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [v6 PATCH 0/7]: cpuidle/x86/POWER: Cleanup idle power management code in x86, cleanup drivers/cpuidle/cpuidle.c and introduce cpuidle to POWER.
  2009-09-24 12:22   ` Arjan van de Ven
  2009-09-25  7:06     ` Vaidyanathan Srinivasan
@ 2009-09-25  7:20     ` Balbir Singh
  1 sibling, 0 replies; 6+ messages in thread
From: Balbir Singh @ 2009-09-25  7:20 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: arun, Len Brown, Peter Zijlstra, Joel Schopp,
	Benjamin Herrenschmidt, Paul Mackerras, Ingo Molnar,
	Vaidyanathan Srinivasan, Dipankar Sarma, Gautham R Shenoy,
	Shaohua Li, Venkatesh Pallipadi, linux-kernel, linuxppc-dev,
	linux-acpi

On Thu, Sep 24, 2009 at 5:52 PM, Arjan van de Ven <arjan@infradead.org> wrote:
> On Thu, 24 Sep 2009 10:42:41 +0530
> Arun R Bharadwaj <arun@linux.vnet.ibm.com> wrote:
>
>> * Arun R Bharadwaj <arun@linux.vnet.ibm.com> [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

In this day and age of flashable BIOS with recovery BIOS built in,
can't we just print out a big far warning, asking users of such
systems to go back to their vendors and ask for updates or find the
updates and apply them? Does the OS have to do the heavy lifting and
allow users to live with buggy BIOS's.

When you say it is a technically valid configuration, you mean that
the ACPI spec allows for such inconsistency?

Balbir Singh

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [v6 PATCH 0/7]: cpuidle/x86/POWER: Cleanup idle power management code in x86, cleanup drivers/cpuidle/cpuidle.c and introduce cpuidle to POWER.
  2009-09-25  7:06     ` Vaidyanathan Srinivasan
@ 2009-09-25  8:54       ` Peter Zijlstra
  2009-09-25  9:35         ` Arjan van de Ven
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Zijlstra @ 2009-09-25  8:54 UTC (permalink / raw)
  To: svaidy
  Cc: Arjan van de Ven, arun, Len Brown, Joel Schopp,
	Benjamin Herrenschmidt, Paul Mackerras, Ingo Molnar,
	Dipankar Sarma, Balbir Singh, Gautham R Shenoy, Shaohua Li,
	Venkatesh Pallipadi, linux-kernel, linuxppc-dev, linux-acpi

On Fri, 2009-09-25 at 12:36 +0530, Vaidyanathan Srinivasan wrote:
> * Arjan van de Ven <arjan@infradead.org> [2009-09-24 14:22:28]:
> 
> > On Thu, 24 Sep 2009 10:42:41 +0530
> > Arun R Bharadwaj <arun@linux.vnet.ibm.com> wrote:
> > 
> > > * Arun R Bharadwaj <arun@linux.vnet.ibm.com> [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?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [v6 PATCH 0/7]: cpuidle/x86/POWER: Cleanup idle power management code in x86, cleanup drivers/cpuidle/cpuidle.c and introduce cpuidle to POWER.
  2009-09-25  8:54       ` Peter Zijlstra
@ 2009-09-25  9:35         ` Arjan van de Ven
  0 siblings, 0 replies; 6+ messages in thread
From: Arjan van de Ven @ 2009-09-25  9:35 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: svaidy, arun, Len Brown, Joel Schopp, Benjamin Herrenschmidt,
	Paul Mackerras, Ingo Molnar, Dipankar Sarma, Balbir Singh,
	Gautham R Shenoy, Shaohua Li, Venkatesh Pallipadi, linux-kernel,
	linuxppc-dev, linux-acpi

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

> On Fri, 2009-09-25 at 12:36 +0530, Vaidyanathan Srinivasan wrote:
> > * Arjan van de Ven <arjan@infradead.org> [2009-09-24 14:22:28]:
> > 
> > > On Thu, 24 Sep 2009 10:42:41 +0530
> > > Arun R Bharadwaj <arun@linux.vnet.ibm.com> wrote:
> > > 
> > > > * Arun R Bharadwaj <arun@linux.vnet.ibm.com> [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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-09-25  9:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20090922112526.GA7788@linux.vnet.ibm.com>
2009-09-24  5:12 ` [v6 PATCH 0/7]: cpuidle/x86/POWER: Cleanup idle power management code in x86, cleanup drivers/cpuidle/cpuidle.c and introduce cpuidle to POWER Arun R Bharadwaj
2009-09-24 12:22   ` Arjan van de Ven
2009-09-25  7:06     ` Vaidyanathan Srinivasan
2009-09-25  8:54       ` Peter Zijlstra
2009-09-25  9:35         ` Arjan van de Ven
2009-09-25  7:20     ` Balbir Singh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox