2007-05-22 12:59:25

by Paa Paa

[permalink] [raw]
Subject: Enabling power states for Core 2 Duo

For some reason I'm not able to enable processor power states (c1, c2 etc.)
for my Core 2 Duo. This is what I get::

cat /proc/acpi/processor/CPU1/info
processor id: 0
acpi id: 1
bus mastering control: no
power management: no
throttling control: no
limit interface: no

cat /proc/acpi/processor/CPU1/power
active state: C0
max_cstate: C8
bus master activity: 00000000
maximum allowed latency: 2000 usec
states:

"dmesg | grep -i power" also gives nothing. I have ACPI enabled in BIOS and
in kernel I have these set ("grep -i acpi .config | grep =y"):

CONFIG_ACPI=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_PNPACPI=y
CONFIG_SATA_ACPI=y

I'm probably missing something crucial here. So how do I enable power
states? I'm using 64-bit Gentoo. My mobo is Asus P5B Deluxe. Otherwise ACPI
works fine.

_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar - get it now!
http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/


2007-05-22 14:27:00

by Robert Hancock

[permalink] [raw]
Subject: Re: Enabling power states for Core 2 Duo

Paa Paa wrote:
> For some reason I'm not able to enable processor power states (c1, c2
> etc.) for my Core 2 Duo. This is what I get::
>
> cat /proc/acpi/processor/CPU1/info
> processor id: 0
> acpi id: 1
> bus mastering control: no
> power management: no
> throttling control: no
> limit interface: no
>
> cat /proc/acpi/processor/CPU1/power
> active state: C0
> max_cstate: C8
> bus master activity: 00000000
> maximum allowed latency: 2000 usec
> states:
>
> "dmesg | grep -i power" also gives nothing. I have ACPI enabled in BIOS
> and in kernel I have these set ("grep -i acpi .config | grep =y"):
>
> CONFIG_ACPI=y
> CONFIG_ACPI_PROCESSOR=y
> CONFIG_ACPI_THERMAL=y
> CONFIG_ACPI_EC=y
> CONFIG_ACPI_POWER=y
> CONFIG_ACPI_SYSTEM=y
> CONFIG_X86_ACPI_CPUFREQ=y
> CONFIG_PNPACPI=y
> CONFIG_SATA_ACPI=y
>
> I'm probably missing something crucial here. So how do I enable power
> states? I'm using 64-bit Gentoo. My mobo is Asus P5B Deluxe. Otherwise
> ACPI works fine.

The BIOS has to expose this support in ACPI, if it doesn't (which is
often the case on desktop boards) you won't get any C-state support
(well, except for C1 which is just the normal halt state).

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/

2007-05-22 15:35:35

by Paa Paa

[permalink] [raw]
Subject: Re: Enabling power states for Core 2 Duo

>>I'm probably missing something crucial here. So how do I enable power
>>states? I'm using 64-bit Gentoo. My mobo is Asus P5B Deluxe. Otherwise
>>ACPI works fine.
>
>The BIOS has to expose this support in ACPI, if it doesn't (which is often
>the case on desktop boards) you won't get any C-state support (well, except
>for C1 which is just the normal halt state).

But unless I'm not mistaken, I don't have even the C1 state available. I
seem to have only C0 according to "active state". "Active state is the sleep
state currently used when the system is idle", isn't it? Here is the source:

http://acpi.sourceforge.net/documentation/processor.html

But are you saying that with most desktop mobos one doesn't usually have the
different power states available at all? So basically the only means to
conserve power is to scale the frequency?

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

2007-05-22 16:37:34

by Dhaval Giani

[permalink] [raw]
Subject: Re: Enabling power states for Core 2 Duo

> >>I'm probably missing something crucial here. So how do I enable power
> >>states? I'm using 64-bit Gentoo. My mobo is Asus P5B Deluxe. Otherwise
> >>ACPI works fine.
> >
> >The BIOS has to expose this support in ACPI, if it doesn't (which is often
> >the case on desktop boards) you won't get any C-state support (well, except
> >for C1 which is just the normal halt state).
>
> But unless I'm not mistaken, I don't have even the C1 state available. I
> seem to have only C0 according to "active state". "Active state is the sleep
> state currently used when the system is idle", isn't it? Here is the source:
>
> http://acpi.sourceforge.net/documentation/processor.html
>
> But are you saying that with most desktop mobos one doesn't usually have the
> different power states available at all? So basically the only means to
> conserve power is to scale the frequency?
>

Please update your BIOS and try.

Thanks and regards
Dhaval

2007-05-22 17:14:54

by Paa Paa

[permalink] [raw]
Subject: Re: Enabling power states for Core 2 Duo

>>But are you saying that with most desktop mobos one doesn't usually have
>>the
>>different power states available at all? So basically the only means to
>>conserve power is to scale the frequency?
>>
>
>Please update your BIOS and try.

I updated my Asus P5B Deluxe BIOS with no luck (this latest BIOS is about 1
month old). Still no power states. I would be nice to know if _any_ desktop
C2D mobos have these C-states? (In x86_64 system).

I think I never mentioned:

I'm using 2.6.21.1 (actually gentoo-sources-2.6.21-r1)
My CPU is E6400.

_________________________________________________________________
Don't just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/

2007-05-22 17:35:59

by Jindrich Makovicka

[permalink] [raw]
Subject: Re: Enabling power states for Core 2 Duo

On Tue, 22 May 2007 17:14:45 +0000
"Paa Paa" <[email protected]> wrote:

> >>But are you saying that with most desktop mobos one doesn't usually
> >>have the
> >>different power states available at all? So basically the only
> >>means to conserve power is to scale the frequency?
> >>
> >
> >Please update your BIOS and try.
>
> I updated my Asus P5B Deluxe BIOS with no luck (this latest BIOS is
> about 1 month old). Still no power states. I would be nice to know if
> _any_ desktop C2D mobos have these C-states? (In x86_64 system).
>
> I think I never mentioned:
>
> I'm using 2.6.21.1 (actually gentoo-sources-2.6.21-r1)
> My CPU is E6400.

I observe the same problem with Gigabyte 965P-DS4, and there are at
least two causes - 1) MP supported flag in FADT is missing (so
CPU_HOTPLUG would be necessary), and 2) C2 latency is set to 101,
while the maximum allowed in the kernel is 100.

However, from the power consumption and the CPU temperature it seems
that the power saving works anyway, so I'll live with it.

--
Jindrich Makovicka

2007-05-22 18:13:57

by Nick Craig-Wood

[permalink] [raw]
Subject: Re: Enabling power states for Core 2 Duo

Paa Paa <[email protected]> wrote:
> I updated my Asus P5B Deluxe BIOS with no luck (this latest BIOS is about 1
> month old). Still no power states. I would be nice to know if _any_ desktop
> C2D mobos have these C-states? (In x86_64 system).

According to the BIOS manual there is an option called

Intel(R) SpeedStep(tm) Tech.

Did you enable that?

--
Nick Craig-Wood <[email protected]> -- http://www.craig-wood.com/nick

2007-05-23 07:33:19

by matthieu castet

[permalink] [raw]
Subject: Re: Enabling power states for Core 2 Duo

Hi,
Paa Paa <paapaa125 <at> hotmail.com> writes:


>
> But are you saying that with most desktop mobos one doesn't usually have the
> different power states available at all? So basically the only means to
> conserve power is to scale the frequency?
>
Even frequency is very limited on core 2 duo. Because of the hight fbs, you can
scale only to 1.60 GHz or 1.87 GHz for E6300


Matthieu

2007-05-23 23:10:26

by Maxim Levitsky

[permalink] [raw]
Subject: Re: Enabling power states for Core 2 Duo

On Tuesday 22 May 2007 20:35, Jindrich Makovicka wrote:
> On Tue, 22 May 2007 17:14:45 +0000
>
> "Paa Paa" <[email protected]> wrote:
> > >>But are you saying that with most desktop mobos one doesn't usually
> > >>have the
> > >>different power states available at all? So basically the only
> > >>means to conserve power is to scale the frequency?
> > >
> > >Please update your BIOS and try.
> >
> > I updated my Asus P5B Deluxe BIOS with no luck (this latest BIOS is
> > about 1 month old). Still no power states. I would be nice to know if
> > _any_ desktop C2D mobos have these C-states? (In x86_64 system).
> >
> > I think I never mentioned:
> >
> > I'm using 2.6.21.1 (actually gentoo-sources-2.6.21-r1)
> > My CPU is E6400.
>
> I observe the same problem with Gigabyte 965P-DS4, and there are at
> least two causes - 1) MP supported flag in FADT is missing (so
> CPU_HOTPLUG would be necessary), and 2) C2 latency is set to 101,
> while the maximum allowed in the kernel is 100.
>
> However, from the power consumption and the CPU temperature it seems
> that the power saving works anyway, so I'll live with it.

Hi,

I also don't have C-states on my DG965RY intel board with core 2 duo E6400

Any board can support C-states ether by fixed ACPI set of registers or by a
set of functions in acpi tables.

On my system ICH8 (and I almost sure you got it too), doesn't support
fixed-function C-states.

And there is no other magic chip that can put cpu in c-state (on my system) ,
so acpi has no "set of functions to do that"

So I guess that on my board there is no physical support for C-states, and
this could be true for you too.

Anyway monitor/mwait can put cpu in C1, and having apic-stops-in-c2/c3 bug,
I don't think those states are that needed.

The Speedstep support is a different thing at all:
Agian acpi has a function that can change cpu clock speed to fixed values,
And yes on my board it also has only two values: 1500 and 2130.
This support is implemented by accessing the clock chip
(Actualy on my system acpi writes a magic value to one of ICH8 registers, and
this triggers a SMM that changes the clock)

And the last thing is about throtting states your and mine system does
support:
Throttling states are states that make system halt cpu for some % of time,
Yes there are 8 such states. You can enter one of those by writeing a state
number to /proc/acpi/processor/*/throttling (I assume you have ICH8 or
someting simular)
Also ICH*'s throtting states are system global, this is why I wrote "/*/"
If you change it for one core, it will be changed for other.
They are supported by fixed acpi function (by ICH8)

My 2 cents.

Regards
Maxim Levitsky