Bug 469176 - coretemp on Intel Core 2 Duo T8100 seems to read under
coretemp on Intel Core 2 Duo T8100 seems to read under
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
All Linux
medium Severity low
: ---
: ---
Assigned To: Brian Maly
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-10-30 09:44 EDT by James Ettle
Modified: 2009-01-19 18:02 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-01-19 18:02:03 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description James Ettle 2008-10-30 09:44:58 EDT
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

How reproducible:

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
Comment 1 James Ettle 2008-10-30 09:53:13 EDT
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...
Comment 2 James Ettle 2008-11-09 07:29:12 EST
Still in kernel-
Comment 3 James Ettle 2008-12-29 09:13:39 EST
And in kernel-
Comment 4 James Ettle 2009-01-16 17:50:39 EST
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
Comment 5 Brian Maly 2009-01-19 11:27:09 EST
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?
Comment 6 James Ettle 2009-01-19 11:46:44 EST
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:
Comment 7 Brian Maly 2009-01-19 14:33:57 EST
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.
Comment 8 James Ettle 2009-01-19 14:54:31 EST
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
Adapter: ISA adapter
Core 0:      +30.0°C  (high = +100.0°C, crit = +100.0°C)  

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
Adapter: ISA adapter
Core 0:      +44.0°C  (high = +100.0°C, crit = +100.0°C)  

Adapter: ISA adapter
Core 1:      +47.0°C  (high = +100.0°C, crit = +100.0°C)
Comment 9 Brian Maly 2009-01-19 17:51:07 EST
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.
Comment 10 James Ettle 2009-01-19 18:02:03 EST
OK, I'll close this NOTABUG.

Note You need to log in before you can comment on or make changes to this bug.