Bug 469176 - coretemp on Intel Core 2 Duo T8100 seems to read under
Summary: coretemp on Intel Core 2 Duo T8100 seems to read under
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 10
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: Brian Maly
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-10-30 13:44 UTC by James
Modified: 2009-01-19 23:02 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2009-01-19 23:02:03 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description James 2008-10-30 13:44:58 UTC
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

Comment 1 James 2008-10-30 13:53:13 UTC
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 2008-11-09 12:29:12 UTC
Still in kernel-2.6.27.5-30.fc9.x86_64.

Comment 3 James 2008-12-29 14:13:39 UTC
And in kernel-2.6.27.10-167.fc10.x86_64.

Comment 4 James 2009-01-16 22:50:39 UTC
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 16:27:09 UTC
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 2009-01-19 16:46:44 UTC
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

Comment 7 Brian Maly 2009-01-19 19:33:57 UTC
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 2009-01-19 19:54:31 UTC
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)

Comment 9 Brian Maly 2009-01-19 22:51:07 UTC
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 2009-01-19 23:02:03 UTC
OK, I'll close this NOTABUG.


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