Re: Bug#869658: Debian 9.1 stretch: command 'sensors' freeze temporarily the whole system
control: tag -1 - moreinfo
control: tag -1 + upstream
control: reassign -1 src:linux
control: retitle -1 linux: system freezes when dell-smm-hwmon reads fan speed
Hi,
On 2017-07-26 10:34, Carmelo C wrote:
> Hi Aurelien,
>
> I removed the code line "radeon.hw_i2c=1" but the freeze persists. Then I
> ran "strace -o strace_sensors_output -tt sensors", attached the output...
Indeed, the strace shows that the freeze is not related to the radeon
module, but rather to the dell-smm-hwmon module. You can try to unload
it, the issue should then disappear.
[ snip ]
> 10:18:08.029849 write(1, "dell_smm-virtual-0\n", 19) = 19
> 10:18:08.029908 write(1, "Adapter: Virtual device\n", 24) = 24
[ snip ]
> 10:18:08.049666 open("/sys/class/hwmon/hwmon2/fan1_label", O_RDONLY) = 3
> 10:18:08.049718 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
> 10:18:08.049759 read(3, "Processor Fan\n", 4096) = 14
> 10:18:08.049801 read(3, "", 4096) = 0
> 10:18:08.049838 close(3) = 0
> 10:18:08.049882 open("/sys/class/hwmon/hwmon2/fan1_input", O_RDONLY) = 3
> 10:18:08.049937 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
> 10:18:08.049978 read(3, "2844\n", 4096) = 5
> 10:18:09.956833 close(3) = 0
> 10:18:09.956891 write(1, "Processor Fan: 2844 RPM\n", 24) = 24
Here you can see that reading the fan speed almost take 2 seconds.
> 10:18:09.956950 open("/sys/class/hwmon/hwmon2/fan2_label", O_RDONLY) = 3
> 10:18:09.957009 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
> 10:18:09.957052 read(3, 0xbfdec67c, 4096) = -1 EINVAL (Invalid argument)
> 10:18:09.957093 close(3) = 0
> 10:18:09.957138 open("/sys/class/hwmon/hwmon2/fan2_input", O_RDONLY) = 3
> 10:18:09.957191 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
> 10:18:09.957250 read(3, "2844\n", 4096) = 5
> 10:18:11.860890 close(3) = 0
> 10:18:11.860939 write(1, "fan2: 2844 RPM\n", 24) = 24
Same here.
> 10:18:11.860990 open("/sys/class/hwmon/hwmon2/fan3_label", O_RDONLY) = 3
> 10:18:11.861046 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
> 10:18:11.861088 read(3, 0xbfdec67c, 4096) = -1 EINVAL (Invalid argument)
> 10:18:11.861128 close(3) = 0
> 10:18:11.861172 open("/sys/class/hwmon/hwmon2/fan3_input", O_RDONLY) = 3
> 10:18:11.861237 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
> 10:18:11.861278 read(3, "2840\n", 4096) = 5
> 10:18:13.779559 close(3) = 0
> 10:18:13.779666 write(1, "fan3: 2840 RPM\n", 24) = 24
Same here.
> 10:18:13.779738 open("/sys/class/hwmon/hwmon2/temp1_label", O_RDONLY) = 3
> 10:18:13.779947 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
> 10:18:13.780021 read(3, "CPU\n", 4096) = 4
> 10:18:13.789029 read(3, "", 4096) = 0
> 10:18:13.789087 close(3) = 0
> 10:18:13.789148 open("/sys/class/hwmon/hwmon2/temp1_input", O_RDONLY) = 3
> 10:18:13.789228 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0
> 10:18:13.789280 read(3, "37000\n", 4096) = 6
> 10:18:13.799076 close(3) = 0
While reading a temperature is done in less than 1 millisecond.
The problem you observe is similar to the following one:
https://bugzilla.kernel.org/show_bug.cgi?id=112021
As it the root of the problem is a BIOS issue, I would first suggest to
upgrade it. If it doesn't work the next step is probably to use the
blacklist implemented in the dell-smm-hwmon module to disable the fans
when running on a Dell system similar to yours.
In anycase this is definitely a kernel related issue, so I am
reassigning the bug.
Regards,
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://www.aurel32.net
Reply to: