Re: v4.8-rc1: thinkpad x60: running at low frequency even during kernel build
From: Zhang Rui <rui.zhang@intel.com>
Date: 2016-11-05 11:22:02
Also in:
linux-acpi, lkml, platform-driver-x86
On Fri, 2016-11-04 at 23:16 +0100, Pavel Machek wrote:
Hi!quoted
I'd prefer mails over bugzilla for now... 4.9-rc2 has bios_limit: pavel@duo:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 1833000 and it has thermal zones: /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp 127000 /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_type critical /sys/devices/virtual/thermal/thermal_zone1/trip_point_0_temp 97000 /sys/devices/virtual/thermal/thermal_zone1/trip_point_0_type critical /sys/devices/virtual/thermal/thermal_zone1/trip_point_1_temp 92500 /sys/devices/virtual/thermal/thermal_zone1/trip_point_1_type passive ..so it should slow down CPU at 92C. So lets push the temperature up a bit... sudo watch cat /proc/acpi/ibm/thermal /sys/devices/system/cpu/cpu0/cpufreq/bios_limit /sys/devices/virtual/thermal/thermal_zone1/temp /sys/devices/syste m/cpu/cpu0/cpufreq/cpuinfo_cur_freq temperatures: 98 49 -128 85 28 -128 28 -128 49 58 -128 -128 -128 -128 -128 -128 1833000 95000 1833000 Hmm. bios_limit does not seem to change, even when the temperature is clearly above the trip point. (It is also interestng that acpi/ibm reports bigger temperatures than /sys/devices/virtual/thermal/thermal_zone1/temp . I have seen 103C there.)Under v4.8-rc, behaviour is different: bios_limit goes to 1GHz there when temperature is around 84C at the thermal zone. That keeps ibm/thermal temperatures under 90C, and no "thermal emergency" messages in syslog. So we seem to have thermal or ACPI regression in v4.9-rc3.
To me, there are two problems, the first one is a 4.9-rc regression that BIOS limit stops working, results in overheating because of high cpu frequency. I agree with Srinivas to check acpi_cpufreq driver code for this one. the second problem is that thermal passive cooling can not prevent the system from overheating, when there is no BIOS limit. To debug this, you can enable thermal dynamic debug by echo 'module thermal_sys +fp' > /sys/kernel/debug/dynamic_debug/control thanks, rui
Best regards, Pavel