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