Bug 14650 - No C-states on core i7
Summary: No C-states on core i7
Status: CLOSED DOCUMENTED
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Processor (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: acpi_power-processor
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-21 09:42 UTC by Erik Slagter
Modified: 2009-11-25 07:03 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.31.6
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Erik Slagter 2009-11-21 09:42:06 UTC
I bought a Gigabyte EX58-UD3R motherboard recently and put a core i7 920 on it. This seems to be a fairly common combination.

In short: I know the core i7 does implement several C-states, from memory c1, c1e, c3, c6 and c7. Linux (vanilla, 2.6.31.6) does not recognise any of them.

The kernel configuration is very similar to the one I am running on my laptop with a recent mobile core2duo processor, and this one reports C1,C2,C3 (although it should also report yet another C state, but I guess that one is disabled by the bios or something alike).

Is this normal (WIP?)?

If not, where should I start debugging? I know there is "something" with decoding the DSDT table, but what should I look for?

I seem to remember that with an earlier linux version (before 2.6.30.5) it actually did work, but I am not completely sure.

Thanks for your help in advance!

Additional info that might be useful:

- all options related to power saving and C-states are ENABLED in the BIOS
- all options related to power management and idling are ENABLED in the kernel, which runs in 64 bits mode
- frequency switching runs fine using acpi-cpufreq and ondemand governor

If I compare the dmesg from both computers after booting, the laptop says "ACPI: CPU1 (power states: C1[C1] C2[C2] C3[C3])" at some point, this message is not output at all by the server.

Output from proc/acpi/processor/CPU0/info
processor id:            0
acpi id:                 0
bus mastering control:   yes
power management:        no
throttling control:      yes
limit interface:         yes

Output from proc/acpi/processor/CPU0/power
active state:            C0
max_cstate:              C8
maximum allowed latency: 2000000000 usec
states:
    C1:                  type[C1] promotion[--] demotion[--] latency[000] usage[00000000] duration[00000000000000000000]
Comment 1 Len Brown 2009-11-25 07:03:20 UTC
http://marc.info/?l=linux-acpi&m=125896638111756&w=2

"Enable base clock setting and all C states are gone!"

ie. The BIOS exports C-stats only when the board is not over-clocked.

Documented.

Note You need to log in before you can comment on or make changes to this bug.