Hi all. I have a Core i5-2520M processor and openSUSE 12.1.
The processor is badly managed by the Linux kernel : it is never less than 1.8 GHz:
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
2501000 2500000 2200000 2000000 1800000 1600000 1400000 1200000 1000000 800000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit
2501000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
800000
Everything seems OK. The governor asked the processor to switch to 800 MHz when idle. But with a root access, despite this information, I see that the CPU is never under 1.8 GHz (the real frequency varies between 1.8GHz and 2.5GHz). Example:
$ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
1800000
$ sudo cpupower -c 0-3 monitor
|Nehalem || SandyBridge || Mperf || Idle_Stats
CPU | C3 | C6 | PC3 | PC6 || C7 | PC2 | PC7 || C0 | Cx | Freq || POLL | C1-S | C3-S | C6-S | C7-S
0| 0,68| 0,00| 0,00| 0,00|| 92,49| 0,00| 0,00|| 3,46| 96,54| **1800**|| 0,00| 1,89| 0,49| 0,00| 94,18
1| 0,68| 0,00| 0,00| 0,00|| 92,49| 0,00| 0,00|| 0,71| 99,29| **1800**|| 0,00| 0,76| 0,25| 0,00| 98,29
2| 0,72| 0,08| 0,00| 0,00|| 96,56| 0,00| 0,00|| 0,39| 99,61| **1800**|| 0,00| 0,40| 0,42| 0,00| 98,80
3| 0,72| 0,08| 0,00| 0,00|| 96,56| 0,00| 0,00|| 0,98| 99,02| **1775**|| 0,00| 0,40| 0,40| 0,08| 98,13
And i7z confirms.
I think this is a bug in modules in kernel-desktop.
The kernel-desktops 3.1.0-1.2-desktop and 3.1.3-2-desktop (from the standard 12.1 repository) have the same issue. When I boot on kernel-desktop-base, i7z reports a lower frequency (around 1200 MHz, not perfect but better), but the Core i5 graphic card is not recognized so I’m back to kernel-desktop.