Description of problem: The CPU temperature readings from coretemp on my IC2D T8100 notebook (checked in sysfs and with lm-sensors) seems to read under, reporting temperatures like 8C and 11C upon login. This is clearly unphysical for a system initially at thermal equilibrium with a room at 22C. When warmed up, coretemp's reading seems consistently 12--16C below that reported in ACPI thermal zone. I recall reading somewhere that the actual coretemp hardware reports how much below Tjmax the chip is; Tjmax is either 85C or 100C depending upon chip (i.e., 15C difference). Perhaps the driver has the wrong entry for this chip or needs some sort of work-around? Version-Release number of selected component (if applicable): Kernels from 2.6.26 series in Fedora 9 to 2.6.27.4-58.fc10.x86_64. How reproducible: Always. Steps to Reproduce: 1. Start system from cold. Actual results: Reads under. Expected results: coretemp respects the Laws of Thermodynamics. Additional information: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz stepping : 6
Ignore what I said about Tjmax, I don't know what I'm talking about. It's set at 100C in /sys/devices/platform/coretemp.[01]/temp1_max, so lowering it probably would not help...
Still in kernel-2.6.27.5-30.fc9.x86_64.
And in kernel-2.6.27.10-167.fc10.x86_64.
Further to comment #1, I pulled up the Intel datasheet [1] on this (and other) processors. It would seem to imply that the correct Tjmax is 105C for the T8100, not the 100C currently in the driver. This would probably give a more correct temperature reading. 1. http://www.intel.com/design/mobile/datashts/318914.htm
Are there any warnings logged when this module loads? Does the module follow expected execution path? I.e. we are not ending up in dev_warn or dev_err code right? If everything seems otherwise normal (no unexpected warnings or other obvious failures) can I get some help debugging the problem? If I spin a patch that adds some debugging, are you able to test it?
Brian, I don't see any error messages when the module loads so I don't think anything is really going "wrong", just that coretemp needs updated processor info. I'd be willing to have a go at trying a patched module. (Of course, one might argue that I'm being pedantic since apparently (1) the temperature sensor is only accurate to +/- 5C around the 60C mark, and (2) below 50C, the number should be only taken to mean "some temperature below 50C".) Intel Processor Finder for my chip: http://processorfinder.intel.com/List.aspx?ParentRadio=2643%2c3040%2c2967%2c2278%2c2883%2c2304%2c2848%2c826%2c942%2c58%2c3008%2c&ProcFam=2643&SearchKey=Processor+Number%3dT8100
The temp provided by coretemp is not intended to be highly accurate, rather its primary function is to provide a decent thermal trip point. But just out of curiosity, can you attach a 'sensors' output (to this Bug) once the system reaches normal operating temperature? Thanks.
OK: the following is about 10 minutes from cold. The first reading is from ACPI, which I believe the hardware uses to control the fans, and the second two from coretemp. [james@rhapsody ~]$ cat /proc/acpi/thermal_zone/THRM/temperature ; sensors temperature: 44 C coretemp-isa-0000 Adapter: ISA adapter Core 0: +30.0°C (high = +100.0°C, crit = +100.0°C) coretemp-isa-0001 Adapter: ISA adapter Core 1: +34.0°C (high = +100.0°C, crit = +100.0°C) This is while the machine is under heavy load (in a fairly cool room): [james@rhapsody ~]$ cat /proc/acpi/thermal_zone/THRM/temperature ; sensors temperature: 56 C coretemp-isa-0000 Adapter: ISA adapter Core 0: +44.0°C (high = +100.0°C, crit = +100.0°C) coretemp-isa-0001 Adapter: ISA adapter Core 1: +47.0°C (high = +100.0°C, crit = +100.0°C)
To be honest these numbers for coretemp look fairly normal for a Core 2 Duo... they are in the expected range with respect to other systems. The temperature in /proc/acpi/thermal_zone/THRM/temperature is registered by a different temperature sensor than for either core. There are actually 3 different temperature sensors total, one for the die and one for either of the cores. Core 0 and Core 1 temperatures are only valid (or accurate) when the processor is in its lowest power state (i.e. not when under a heavy load). Once the system is heavily loaded you will likely see some temperature skew (between measured and actual). Also the die temp thermal diode is on a different part of the die (not located near the core thermal detecors) and thus is on a seperate thermal plane because of this. I wouldnt expect too much correlation between core and die temps because of this. 100C also looks like the proper high/crit for this processor.
OK, I'll close this NOTABUG.