Thread (34 messages) 34 messages, 6 authors, 2016-11-14

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
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help