Re: v4.8-rc1: thinkpad x60: running at low frequency even during kernel build
From: Zhang Rui
Date: Sat Nov 05 2016 - 07:22:16 EST
On Fri, 2016-11-04 at 23:16 +0100, Pavel Machek wrote:
> Hi!
>
> >
> > 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
> Â