[opensuse-kernel] T400 Overheating
Hi, Sorry for the little long mail, I wanted to explain how I got into the issue. I am using a Thinkpad T400 which feels a lot hot easily even when there is not much CPU usage. I suspected it could be a fan problem but the hardware turned to be not problematic. The machine started shutting down automatically few times because of over-heating. I became so ambitious and thought that I could write a notification system which will warn the user when the temperature exceeds a critical temperature instead of automatically shutting down. I did some googling and reading of kernel source documentation. I found that such a mechanism already exists (IIUC) (drivers/thermal/thermal_sys.c) : === case THERMAL_TRIP_CRITICAL: if (temp >= trip_temp) { if (tz->ops->notify) ret = tz->ops->notify(tz, count, trip_type); if (!ret) { printk(KERN_EMERG "Critical temperature reached (%ld C), shutting down.\n", temp/1000); orderly_poweroff(true); === However, on reading further I found that sysfs already shows the temperature settings under /sys/class/thermal (which as I understand has moved from /proc recently). Now when I saw the value for: /sys/class/thermal/cooling_device0/cur_state is 0 /sys/class/thermal/cooling_device0/max_state is 7 /sys/class/thermal/thermal_zone0/trip_point_type is critical /sys/class/thermal/thermal_zone0/temp is 70000 now my questions are: 1) Why could the cooling_device's cur_state be never going more than 0 ? I believe this could be a reason why the machine becomes hot. (I may be wrong) I tried setting the cur_state of cooling device to 5 to see if it will increase the fan speed. But trying to overwrite this file never succeeds. The documentation does not say it is a readonly value also (as opposed to max_state which is fixed constant at device registration time) 2) Are there any known standards (or userspace tools), that make use of the notification mechanism provided by the sysfs thermal settings ? (For scenarios like email someone when a machine in datacenter overheats and it may go down anytime, etc.) 3) gnome-system-monitor currently shows usage for each CPU. Is it reliable to make use of the /sys/class/thermal/thermal_zone0/temp file to indicate the value as temperature for the CPU in gnome-system-monitor ? Please let me know if I have made any glaring mistakes and I will file a bug for the T400 overheating if needed. Thanks a lot. -- Sankar P http://psankar.blogspot.com -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Sankar P wrote:
2) Are there any known standards (or userspace tools), that make use of the notification mechanism provided by the sysfs thermal settings ? (For scenarios like email someone when a machine in datacenter overheats and it may go down anytime, etc.)
Perhaps not what you're after, but the answer is probably SNMP. /Per Jessen -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
participants (2)
-
Per Jessen
-
Sankar P