Bug 15348

Summary: coretemp driver doesn't support Intel Clarkdale and Arrandale CPUs (i3/i5/Pentium G6950)
Product: Drivers Reporter: Artem S. Tashkinov (aros)
Component: Hardware MonitoringAssignee: Rudolf Marek (r.marek)
Status: CLOSED CODE_FIX    
Severity: normal CC: bojan, huaxu.wan, janncker, jdelvare, kernelbugs, lynix47, r.marek, tickettothemoon2004
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.34 Subsystem:
Regression: No Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    
Attachments: patch adding coretemp support for Intel Core i5 650 CPU
A dirty hack for Intel Core i3 i5 PentiumG6950 Clarkdale CPUs (TJMax = 105)

Description Artem S. Tashkinov 2010-02-18 18:28:40 UTC
Created attachment 25106 [details]
patch adding coretemp support for Intel Core i5 650 CPU

# modprobe coretemp

coretemp: Unknown CPU model 25

The attached patch makes coretemp work, but temperature readings look an overkill ...

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +21.0°C  (high = +84.0°C, crit = +100.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +28.0°C  (high = +84.0°C, crit = +100.0°C)

coretemp-isa-0002
Adapter: ISA adapter
Core 2:      +21.0°C  (high = +84.0°C, crit = +100.0°C)

coretemp-isa-0003
Adapter: ISA adapter
Core 3:      +27.0°C  (high = +84.0°C, crit = +100.0°C)

... since this CPU has only two physical cores.

cat /proc/cpuinfo

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 37
model name      : Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz
stepping        : 2
cpu MHz         : 1200.000
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid
bogomips        : 6626.51
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
Comment 1 Artem S. Tashkinov 2010-02-19 09:28:11 UTC
Created attachment 25111 [details]
A dirty hack for Intel Core i3 i5 PentiumG6950 Clarkdale CPUs (TJMax = 105)

It seems like the aforementioned CPUs have 105 TJMax temperature.
Comment 2 Can Celasun 2010-02-19 22:39:34 UTC
I have a Core i3 330M. /proc/cpuinfo is below:

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 37
model name	: Intel(R) Core(TM) i3 CPU       M 330  @ 2.13GHz
stepping	: 2
cpu MHz		: 933.000
cache size	: 3072 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat tpr_shadow vnmi flexpriority ept vpid
bogomips	: 4258.95
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
Comment 3 Huaxu Wan 2010-02-21 02:29:50 UTC
Coretemp outputs two temperatures for each physical core when the Hyper-Threading Technology is enabled. 

We are trying to figure out another method to support the CPUs due to more and more CPUs will supported by coretemp and TjMax is different for each series. 

Thanks for the patches. Please stay tuned.
Comment 4 Zhang Rui 2010-02-22 05:53:42 UTC
re-assign to hwmon category.
Comment 5 ticket 2010-02-25 18:53:51 UTC
Same issue here:

ASUS P7P55D EVO motherboard with Intel i3 540.

System monitor reports 4 CPUs.

Sensors-detect (latest script) gives:
---------------------------
Driver `to-be-written':
  * ISA bus, address 0x290
    Chip `Nuvoton W83667HG-B Super IO Sensors' (confidence: 9)
---------------------------
O/S is Ubuntu 9.1, Linux 2.6.31-19-generic

lspci output, if it helps:

00:00.0 Host bridge: Intel Corporation Clarkdake DRAM Controller (rev 12)
00:01.0 PCI bridge: Intel Corporation Clarkdale PCI Express x16 Root Port (rev 12)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 05)
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 05)
00:1c.6 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 7 (rev 05)
00:1c.7 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 8 (rev 05)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation 5 Series Chipset LPC Interface Controller (rev 05)
00:1f.2 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA IDE Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)
00:1f.5 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 2 port SATA IDE Controller (rev 05)
01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce GTS 250] (rev a2)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
03:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 AHCI Controller (rev 03)
03:00.1 IDE interface: JMicron Technology Corp. JMB362/JMB363 AHCI Controller (rev 03)
07:03.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller (rev c0)
07:04.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10)
Comment 6 Alex 2010-03-16 08:05:58 UTC
Same here with a Core i7 920.

> Coretemp outputs two temperatures for each physical core when the
> Hyper-Threading Technology is enabled. 
Is the affinity dynamic and rndom or can one tell which virtual values correspont to which physical core?
Comment 7 Artem S. Tashkinov 2010-05-07 22:46:13 UTC
Since no one comes up with a better (read any) patch and 2.6.34 is near, can my fix be merged as is? It's pretty straightforward and it works.
Comment 8 Artem S. Tashkinov 2010-05-27 19:39:04 UTC
God, why does this patch ( http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5db47b009d17d69a2f8d84357e7b24c3e3c2edec ) assume there's no c->x86_model=0x25 CPU family?
Comment 9 Huaxu Wan 2010-05-28 01:21:01 UTC
(In reply to comment #8)
> God, why does this patch (
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5db47b009d17d69a2f8d84357e7b24c3e3c2edec
> ) assume there's no c->x86_model=0x25 CPU family?

Could you test the path first? If there are any problems, patches are welcomed to lm-sensors or LKML.
Comment 10 Artem S. Tashkinov 2010-06-26 22:17:12 UTC
Resolved in 2.6.35.
Comment 11 Can Celasun 2010-06-27 15:17:19 UTC
I can confirm the coretemp module loads successfully with 2.6.35 rc3. I have Core i3 330M (See comment #3).