Re: regression in linux 3.7 - fan speed at 100% after suspend/resumeat 100%

From: Roberto Oppedisano
Date: Wed Dec 05 2012 - 02:30:52 EST


Hello Rui

Il 04/12/2012 15:11, Zhang Rui ha scritto:
Hi, Roberto,

please attach the acpidump output.

attached.

On Tue, 2012-12-04 at 13:57 +0100, Roberto Oppedisano wrote:
Hello,
with recent kernels after a suspend/resume cycle on my laptop (HP
6730b) the fans stays at full speed.
does the fan keep running at full speed after resume?

yes, the fan never stops and runs always at full speed.


please attach the output of "grep . /sys/class/thermal/*/*" before
suspend and when the fan is running at full speed.
please attach the same stuff in a good kernel.

See attached files.
3.6.9 is the good kernel where the fan behaves correctly.
3.7.0+git is the bad one.

Kind regards
R



thanks,
rui


I've bisected down to this commit:

ce119f83257aae29b84a5bfad0669e8348437b18 is the first bad commit
commit ce119f83257aae29b84a5bfad0669e8348437b18
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Wed Jun 27 14:13:04 2012 +0800

Thermal: Introduce simple arbitrator for setting device cooling state

This fixes the problem that a cooling device may be referenced by
by multiple trip points in multiple thermal zones.

With this patch, we have two stages for updating a thermal zone,
1. check if a thermal_instance needs to be updated or not
2. update the cooling device, based on the target cooling state
of all its instances.

Note that, currently, the cooling device is set to the deepest
cooling state required.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Reviewed-by: Rafael J. Wysocki <rjw@xxxxxxx>
Reviewed-by: Eduardo Valentin <eduardo.valentin@xxxxxx>

:040000 040000 8469b057ee5b33bdb264624db35c951d0ecdb66b
d7288437cff3c7437e59144c46c04c78669a597b M drivers
:040000 040000 397296161d55c825f07501470130928d226497cc
f715fd1770dd33fd333c5fa339e740537b2a916f M include

I tried to revert it but there are rejects so I cold not try current
kernel with simply this commit removed.

As a side note when the fan is at full speed a see an anomaly on thermal
indicator #4

$ grep 0 /sys/devices/virtual/thermal/thermal_zone*/temp
/sys/devices/virtual/thermal/thermal_zone0/temp:59000
/sys/devices/virtual/thermal/thermal_zone1/temp:63000
/sys/devices/virtual/thermal/thermal_zone2/temp:48000
/sys/devices/virtual/thermal/thermal_zone3/temp:27900
/sys/devices/virtual/thermal/thermal_zone4/temp:100000

while the others seem to report normal value. Attached the output of
dmesg on this laptop.

More info/testing on request.

Kind regards
R



Attachment: acpidump.good.bz2
Description: Binary data

/sys/class/thermal/cooling_device0/cur_state:0
/sys/class/thermal/cooling_device0/max_state:1
/sys/class/thermal/cooling_device0/type:Fan
/sys/class/thermal/cooling_device1/cur_state:0
/sys/class/thermal/cooling_device1/max_state:1
/sys/class/thermal/cooling_device1/type:Fan
/sys/class/thermal/cooling_device2/cur_state:0
/sys/class/thermal/cooling_device2/max_state:1
/sys/class/thermal/cooling_device2/type:Fan
/sys/class/thermal/cooling_device3/cur_state:0
/sys/class/thermal/cooling_device3/max_state:1
/sys/class/thermal/cooling_device3/type:Fan
/sys/class/thermal/cooling_device4/cur_state:1
/sys/class/thermal/cooling_device4/max_state:1
/sys/class/thermal/cooling_device4/type:Fan
/sys/class/thermal/cooling_device5/cur_state:0
/sys/class/thermal/cooling_device5/max_state:10
/sys/class/thermal/cooling_device5/type:Processor
/sys/class/thermal/cooling_device6/cur_state:0
/sys/class/thermal/cooling_device6/max_state:10
/sys/class/thermal/cooling_device6/type:Processor
/sys/class/thermal/cooling_device7/cur_state:0
/sys/class/thermal/cooling_device7/max_state:24
/sys/class/thermal/cooling_device7/type:LCD
/sys/class/thermal/thermal_zone0/mode:enabled
/sys/class/thermal/thermal_zone0/passive:0
/sys/class/thermal/thermal_zone0/temp:22000
/sys/class/thermal/thermal_zone0/trip_point_0_temp:256000
/sys/class/thermal/thermal_zone0/trip_point_0_type:critical
/sys/class/thermal/thermal_zone0/type:acpitz
/sys/class/thermal/thermal_zone1/cdev0_trip_point:1
/sys/class/thermal/thermal_zone1/cdev1_trip_point:1
/sys/class/thermal/thermal_zone1/cdev2_trip_point:6
/sys/class/thermal/thermal_zone1/cdev3_trip_point:5
/sys/class/thermal/thermal_zone1/cdev4_trip_point:4
/sys/class/thermal/thermal_zone1/cdev5_trip_point:3
/sys/class/thermal/thermal_zone1/cdev6_trip_point:2
/sys/class/thermal/thermal_zone1/mode:enabled
/sys/class/thermal/thermal_zone1/temp:46000
/sys/class/thermal/thermal_zone1/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone1/trip_point_0_type:critical
/sys/class/thermal/thermal_zone1/trip_point_1_temp:107000
/sys/class/thermal/thermal_zone1/trip_point_1_type:passive
/sys/class/thermal/thermal_zone1/trip_point_2_temp:90000
/sys/class/thermal/thermal_zone1/trip_point_2_type:active
/sys/class/thermal/thermal_zone1/trip_point_3_temp:75000
/sys/class/thermal/thermal_zone1/trip_point_3_type:active
/sys/class/thermal/thermal_zone1/trip_point_4_temp:60000
/sys/class/thermal/thermal_zone1/trip_point_4_type:active
/sys/class/thermal/thermal_zone1/trip_point_5_temp:52000
/sys/class/thermal/thermal_zone1/trip_point_5_type:active
/sys/class/thermal/thermal_zone1/trip_point_6_temp:30000
/sys/class/thermal/thermal_zone1/trip_point_6_type:active
/sys/class/thermal/thermal_zone1/type:acpitz
/sys/class/thermal/thermal_zone2/cdev0_trip_point:1
/sys/class/thermal/thermal_zone2/cdev1_trip_point:1
/sys/class/thermal/thermal_zone2/mode:enabled
/sys/class/thermal/thermal_zone2/temp:31000
/sys/class/thermal/thermal_zone2/trip_point_0_temp:105000
/sys/class/thermal/thermal_zone2/trip_point_0_type:critical
/sys/class/thermal/thermal_zone2/trip_point_1_temp:95000
/sys/class/thermal/thermal_zone2/trip_point_1_type:passive
/sys/class/thermal/thermal_zone2/type:acpitz
/sys/class/thermal/thermal_zone3/cdev0_trip_point:1
/sys/class/thermal/thermal_zone3/cdev1_trip_point:1
/sys/class/thermal/thermal_zone3/mode:enabled
/sys/class/thermal/thermal_zone3/temp:20000
/sys/class/thermal/thermal_zone3/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone3/trip_point_0_type:critical
/sys/class/thermal/thermal_zone3/trip_point_1_temp:60000
/sys/class/thermal/thermal_zone3/trip_point_1_type:passive
/sys/class/thermal/thermal_zone3/type:acpitz
/sys/class/thermal/thermal_zone4/mode:enabled
/sys/class/thermal/thermal_zone4/passive:0
/sys/class/thermal/thermal_zone4/temp:0
/sys/class/thermal/thermal_zone4/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone4/trip_point_0_type:critical
/sys/class/thermal/thermal_zone4/type:acpitz
/sys/class/thermal/cooling_device0/cur_state:0
/sys/class/thermal/cooling_device0/max_state:1
/sys/class/thermal/cooling_device0/type:Fan
/sys/class/thermal/cooling_device1/cur_state:0
/sys/class/thermal/cooling_device1/max_state:1
/sys/class/thermal/cooling_device1/type:Fan
/sys/class/thermal/cooling_device2/cur_state:0
/sys/class/thermal/cooling_device2/max_state:1
/sys/class/thermal/cooling_device2/type:Fan
/sys/class/thermal/cooling_device3/cur_state:1
/sys/class/thermal/cooling_device3/max_state:1
/sys/class/thermal/cooling_device3/type:Fan
/sys/class/thermal/cooling_device4/cur_state:1
/sys/class/thermal/cooling_device4/max_state:1
/sys/class/thermal/cooling_device4/type:Fan
/sys/class/thermal/cooling_device5/cur_state:0
/sys/class/thermal/cooling_device5/max_state:10
/sys/class/thermal/cooling_device5/type:Processor
/sys/class/thermal/cooling_device6/cur_state:0
/sys/class/thermal/cooling_device6/max_state:10
/sys/class/thermal/cooling_device6/type:Processor
/sys/class/thermal/cooling_device7/cur_state:0
/sys/class/thermal/cooling_device7/max_state:24
/sys/class/thermal/cooling_device7/type:LCD
/sys/class/thermal/thermal_zone0/mode:enabled
/sys/class/thermal/thermal_zone0/passive:0
/sys/class/thermal/thermal_zone0/temp:42000
/sys/class/thermal/thermal_zone0/trip_point_0_temp:256000
/sys/class/thermal/thermal_zone0/trip_point_0_type:critical
/sys/class/thermal/thermal_zone0/type:acpitz
/sys/class/thermal/thermal_zone1/cdev0_trip_point:1
/sys/class/thermal/thermal_zone1/cdev1_trip_point:1
/sys/class/thermal/thermal_zone1/cdev2_trip_point:6
/sys/class/thermal/thermal_zone1/cdev3_trip_point:5
/sys/class/thermal/thermal_zone1/cdev4_trip_point:4
/sys/class/thermal/thermal_zone1/cdev5_trip_point:3
/sys/class/thermal/thermal_zone1/cdev6_trip_point:2
/sys/class/thermal/thermal_zone1/mode:enabled
/sys/class/thermal/thermal_zone1/temp:55000
/sys/class/thermal/thermal_zone1/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone1/trip_point_0_type:critical
/sys/class/thermal/thermal_zone1/trip_point_1_temp:107000
/sys/class/thermal/thermal_zone1/trip_point_1_type:passive
/sys/class/thermal/thermal_zone1/trip_point_2_temp:90000
/sys/class/thermal/thermal_zone1/trip_point_2_type:active
/sys/class/thermal/thermal_zone1/trip_point_3_temp:75000
/sys/class/thermal/thermal_zone1/trip_point_3_type:active
/sys/class/thermal/thermal_zone1/trip_point_4_temp:60000
/sys/class/thermal/thermal_zone1/trip_point_4_type:active
/sys/class/thermal/thermal_zone1/trip_point_5_temp:45000
/sys/class/thermal/thermal_zone1/trip_point_5_type:active
/sys/class/thermal/thermal_zone1/trip_point_6_temp:30000
/sys/class/thermal/thermal_zone1/trip_point_6_type:active
/sys/class/thermal/thermal_zone1/type:acpitz
/sys/class/thermal/thermal_zone2/cdev0_trip_point:1
/sys/class/thermal/thermal_zone2/cdev1_trip_point:1
/sys/class/thermal/thermal_zone2/mode:enabled
/sys/class/thermal/thermal_zone2/temp:40000
/sys/class/thermal/thermal_zone2/trip_point_0_temp:105000
/sys/class/thermal/thermal_zone2/trip_point_0_type:critical
/sys/class/thermal/thermal_zone2/trip_point_1_temp:95000
/sys/class/thermal/thermal_zone2/trip_point_1_type:passive
/sys/class/thermal/thermal_zone2/type:acpitz
/sys/class/thermal/thermal_zone3/cdev0_trip_point:1
/sys/class/thermal/thermal_zone3/cdev1_trip_point:1
/sys/class/thermal/thermal_zone3/mode:enabled
/sys/class/thermal/thermal_zone3/temp:20000
/sys/class/thermal/thermal_zone3/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone3/trip_point_0_type:critical
/sys/class/thermal/thermal_zone3/trip_point_1_temp:60000
/sys/class/thermal/thermal_zone3/trip_point_1_type:passive
/sys/class/thermal/thermal_zone3/type:acpitz
/sys/class/thermal/thermal_zone4/mode:enabled
/sys/class/thermal/thermal_zone4/passive:0
/sys/class/thermal/thermal_zone4/temp:0
/sys/class/thermal/thermal_zone4/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone4/trip_point_0_type:critical
/sys/class/thermal/thermal_zone4/type:acpitz
/sys/class/thermal/cooling_device0/cur_state:1
/sys/class/thermal/cooling_device0/max_state:1
/sys/class/thermal/cooling_device0/type:Fan
/sys/class/thermal/cooling_device1/cur_state:1
/sys/class/thermal/cooling_device1/max_state:1
/sys/class/thermal/cooling_device1/type:Fan
/sys/class/thermal/cooling_device2/cur_state:1
/sys/class/thermal/cooling_device2/max_state:1
/sys/class/thermal/cooling_device2/type:Fan
/sys/class/thermal/cooling_device3/cur_state:0
/sys/class/thermal/cooling_device3/max_state:1
/sys/class/thermal/cooling_device3/type:Fan
/sys/class/thermal/cooling_device4/cur_state:1
/sys/class/thermal/cooling_device4/max_state:1
/sys/class/thermal/cooling_device4/type:Fan
/sys/class/thermal/cooling_device5/cur_state:0
/sys/class/thermal/cooling_device5/max_state:10
/sys/class/thermal/cooling_device5/type:Processor
/sys/class/thermal/cooling_device6/cur_state:0
/sys/class/thermal/cooling_device6/max_state:10
/sys/class/thermal/cooling_device6/type:Processor
/sys/class/thermal/cooling_device7/cur_state:0
/sys/class/thermal/cooling_device7/max_state:24
/sys/class/thermal/cooling_device7/type:LCD
/sys/class/thermal/thermal_zone0/mode:enabled
/sys/class/thermal/thermal_zone0/passive:0
/sys/class/thermal/thermal_zone0/temp:42000
/sys/class/thermal/thermal_zone0/trip_point_0_temp:256000
/sys/class/thermal/thermal_zone0/trip_point_0_type:critical
/sys/class/thermal/thermal_zone0/type:acpitz
/sys/class/thermal/thermal_zone1/cdev0_trip_point:1
/sys/class/thermal/thermal_zone1/cdev1_trip_point:1
/sys/class/thermal/thermal_zone1/cdev2_trip_point:6
/sys/class/thermal/thermal_zone1/cdev3_trip_point:5
/sys/class/thermal/thermal_zone1/cdev4_trip_point:4
/sys/class/thermal/thermal_zone1/cdev5_trip_point:3
/sys/class/thermal/thermal_zone1/cdev6_trip_point:2
/sys/class/thermal/thermal_zone1/mode:enabled
/sys/class/thermal/thermal_zone1/temp:41000
/sys/class/thermal/thermal_zone1/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone1/trip_point_0_type:critical
/sys/class/thermal/thermal_zone1/trip_point_1_temp:107000
/sys/class/thermal/thermal_zone1/trip_point_1_type:passive
/sys/class/thermal/thermal_zone1/trip_point_2_temp:90000
/sys/class/thermal/thermal_zone1/trip_point_2_type:active
/sys/class/thermal/thermal_zone1/trip_point_3_temp:75000
/sys/class/thermal/thermal_zone1/trip_point_3_type:active
/sys/class/thermal/thermal_zone1/trip_point_4_temp:60000
/sys/class/thermal/thermal_zone1/trip_point_4_type:active
/sys/class/thermal/thermal_zone1/trip_point_5_temp:52000
/sys/class/thermal/thermal_zone1/trip_point_5_type:active
/sys/class/thermal/thermal_zone1/trip_point_6_temp:30000
/sys/class/thermal/thermal_zone1/trip_point_6_type:active
/sys/class/thermal/thermal_zone1/type:acpitz
/sys/class/thermal/thermal_zone2/cdev0_trip_point:1
/sys/class/thermal/thermal_zone2/cdev1_trip_point:1
/sys/class/thermal/thermal_zone2/mode:enabled
/sys/class/thermal/thermal_zone2/temp:40000
/sys/class/thermal/thermal_zone2/trip_point_0_temp:105000
/sys/class/thermal/thermal_zone2/trip_point_0_type:critical
/sys/class/thermal/thermal_zone2/trip_point_1_temp:95000
/sys/class/thermal/thermal_zone2/trip_point_1_type:passive
/sys/class/thermal/thermal_zone2/type:acpitz
/sys/class/thermal/thermal_zone3/cdev0_trip_point:1
/sys/class/thermal/thermal_zone3/cdev1_trip_point:1
/sys/class/thermal/thermal_zone3/mode:enabled
/sys/class/thermal/thermal_zone3/temp:20200
/sys/class/thermal/thermal_zone3/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone3/trip_point_0_type:critical
/sys/class/thermal/thermal_zone3/trip_point_1_temp:60000
/sys/class/thermal/thermal_zone3/trip_point_1_type:passive
/sys/class/thermal/thermal_zone3/type:acpitz
/sys/class/thermal/thermal_zone4/mode:enabled
/sys/class/thermal/thermal_zone4/passive:0
/sys/class/thermal/thermal_zone4/temp:100000
/sys/class/thermal/thermal_zone4/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone4/trip_point_0_type:critical
/sys/class/thermal/thermal_zone4/type:acpitz
/sys/class/thermal/cooling_device0/cur_state:0
/sys/class/thermal/cooling_device0/max_state:1
/sys/class/thermal/cooling_device0/type:Fan
/sys/class/thermal/cooling_device1/cur_state:0
/sys/class/thermal/cooling_device1/max_state:1
/sys/class/thermal/cooling_device1/type:Fan
/sys/class/thermal/cooling_device2/cur_state:0
/sys/class/thermal/cooling_device2/max_state:1
/sys/class/thermal/cooling_device2/type:Fan
/sys/class/thermal/cooling_device3/cur_state:0
/sys/class/thermal/cooling_device3/max_state:1
/sys/class/thermal/cooling_device3/type:Fan
/sys/class/thermal/cooling_device4/cur_state:1
/sys/class/thermal/cooling_device4/max_state:1
/sys/class/thermal/cooling_device4/type:Fan
/sys/class/thermal/cooling_device5/cur_state:0
/sys/class/thermal/cooling_device5/max_state:10
/sys/class/thermal/cooling_device5/type:Processor
/sys/class/thermal/cooling_device6/cur_state:0
/sys/class/thermal/cooling_device6/max_state:10
/sys/class/thermal/cooling_device6/type:Processor
/sys/class/thermal/cooling_device7/cur_state:0
/sys/class/thermal/cooling_device7/max_state:24
/sys/class/thermal/cooling_device7/type:LCD
/sys/class/thermal/thermal_zone0/mode:enabled
/sys/class/thermal/thermal_zone0/passive:0
/sys/class/thermal/thermal_zone0/temp:43000
/sys/class/thermal/thermal_zone0/trip_point_0_temp:256000
/sys/class/thermal/thermal_zone0/trip_point_0_type:critical
/sys/class/thermal/thermal_zone0/type:acpitz
/sys/class/thermal/thermal_zone1/cdev0_trip_point:1
/sys/class/thermal/thermal_zone1/cdev1_trip_point:1
/sys/class/thermal/thermal_zone1/cdev2_trip_point:6
/sys/class/thermal/thermal_zone1/cdev3_trip_point:5
/sys/class/thermal/thermal_zone1/cdev4_trip_point:4
/sys/class/thermal/thermal_zone1/cdev5_trip_point:3
/sys/class/thermal/thermal_zone1/cdev6_trip_point:2
/sys/class/thermal/thermal_zone1/mode:enabled
/sys/class/thermal/thermal_zone1/temp:44000
/sys/class/thermal/thermal_zone1/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone1/trip_point_0_type:critical
/sys/class/thermal/thermal_zone1/trip_point_1_temp:107000
/sys/class/thermal/thermal_zone1/trip_point_1_type:passive
/sys/class/thermal/thermal_zone1/trip_point_2_temp:90000
/sys/class/thermal/thermal_zone1/trip_point_2_type:active
/sys/class/thermal/thermal_zone1/trip_point_3_temp:75000
/sys/class/thermal/thermal_zone1/trip_point_3_type:active
/sys/class/thermal/thermal_zone1/trip_point_4_temp:60000
/sys/class/thermal/thermal_zone1/trip_point_4_type:active
/sys/class/thermal/thermal_zone1/trip_point_5_temp:52000
/sys/class/thermal/thermal_zone1/trip_point_5_type:active
/sys/class/thermal/thermal_zone1/trip_point_6_temp:30000
/sys/class/thermal/thermal_zone1/trip_point_6_type:active
/sys/class/thermal/thermal_zone1/type:acpitz
/sys/class/thermal/thermal_zone2/cdev0_trip_point:1
/sys/class/thermal/thermal_zone2/cdev1_trip_point:1
/sys/class/thermal/thermal_zone2/mode:enabled
/sys/class/thermal/thermal_zone2/temp:41000
/sys/class/thermal/thermal_zone2/trip_point_0_temp:105000
/sys/class/thermal/thermal_zone2/trip_point_0_type:critical
/sys/class/thermal/thermal_zone2/trip_point_1_temp:95000
/sys/class/thermal/thermal_zone2/trip_point_1_type:passive
/sys/class/thermal/thermal_zone2/type:acpitz
/sys/class/thermal/thermal_zone3/cdev0_trip_point:1
/sys/class/thermal/thermal_zone3/cdev1_trip_point:1
/sys/class/thermal/thermal_zone3/mode:enabled
/sys/class/thermal/thermal_zone3/temp:21200
/sys/class/thermal/thermal_zone3/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone3/trip_point_0_type:critical
/sys/class/thermal/thermal_zone3/trip_point_1_temp:60000
/sys/class/thermal/thermal_zone3/trip_point_1_type:passive
/sys/class/thermal/thermal_zone3/type:acpitz
/sys/class/thermal/thermal_zone4/mode:enabled
/sys/class/thermal/thermal_zone4/passive:0
/sys/class/thermal/thermal_zone4/temp:0
/sys/class/thermal/thermal_zone4/trip_point_0_temp:110000
/sys/class/thermal/thermal_zone4/trip_point_0_type:critical
/sys/class/thermal/thermal_zone4/type:acpitz