Intel i7 3520M CPU doesn't throttle after update to kernel 3.10.0

Today I updated to the new stable kernel 3.10.0 (openSUSE Kernel repo for 12.3 [1]) and since then the automated CPU frequency throttling does not work any longer. It still works perfectly fine with the 3.9 kernel series from the same repository (until yesterday available there).

Now the default behaviour is, that the turbo mode of my Intel i7 3520M CPU is on, resulting in an idle frequency of 3.6 GHz.

I managed to switch off turbo mode manually by running as su

echo -n 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

resulting in an idle frequency of 2.9GHz.

I’ve tried enabling the ‘powersave’ governor with either cpufreq-set and cpupower. Without any effect.

Is it a known bug of the 3.10. kernel or is some configuration of my system messed up? I haven’t changed anything except updating my kernel from 3.9.8-1.gf3348a8-desktop to 3.10.0-1.g3dcd746-desktop this morning.

[1]: Index of /repositories/Kernel:/stable/standard

  • in kernel 3.9, Intel introduced a new P-state kernel driver for frequency scaling with its modern Core processors… support started initially with just Sandy Bridge
  • in 3.10, support for the P-state driver was extended to Ivy Bridge (what you have) processors … maybe Haswell too? (I don’t remember)
  • all the cpufreq scaling governors do not apply … do NOT use them with the p-state driver, which (IIRC) is built into the kernel (i.e. static as opposed to a module)
  • to disable the pstate driver (if you really are having trouble with it), use the “intel_pstate=disable” boot option
  • however, you may wish to investigate whether you have any userspace configurations (such as cpupower etc., ) that deal with the cpufreq governors and whether they are the source of what is causing your processor to not reduce to lower freq.

So I played around a little bit. I deinstalled cpufrequ-utils and cpupower (the userspace scaler). This did not had any effect. Then I added intel_pstate=disable to the kernel command line resulting in the old, well-known behaviour. I’ll try finding some help on the kernel mailinglist. Either it’s a bug in the intel_pstate module or some other of my BIOS or system settings are conflicting with it.

Been having similar temperature problems with an intel core i5 540m running kernel 3.10 in 12.3. Booting from a live cd dropped the temperature by 10 degrees, but booting the shipped 3.7 kernel in 12.3 didn’t have the same effect.

I was under the impression that changes were only going to affect Sandy Bridge and later processors. I’m not really clear from your description either

I’ve been looking around and it seems my problem has been longstanding but only now as my laptop has aged has it become a problem. So, basically it’s never been fixed since kernel 3.5~.

If you would like to play around with the new pstate, you might try the Thermal Power Manager Daemon:

Background:
Linux Thermal Daemon Monitors and Controls Temperature in Tablets, Laptops | Linux.com
https://01.org/linux-thermal-daemon/documentation/introduction-thermal-daemon

Code:
https://github.com/01org/thermal_daemon

Suse build notes:
Using linux-glibc-devel 3.7, for errno.h to be found I had to symlink
ln -s /usr/include/asm-generic/ /usr/include/asm

Usage notes and test script in src dir

Thanks for the links