You are not logged in.

#1 2010-03-15 21:59:31

lynix
Member
From: Karlsruhe, Germany
Registered: 2008-04-23
Posts: 230

Intel Core i7 - coretemp readings

I have an Intel Core i7 920 with 4 physical cores and hyperthreading, which makes a total number of 8 virtual cpus. The temperatures of the cores can be read through the coretemp module and the values seem to be quite realistic.

The weird thing is that I get 8 different values from coretemp. How is this possible with only 4 physical cores (and therefore only 4 real temperature sensors)? As the values all differ, there cannot be any multiplexing of the existing sensors.

Does anyone of you know how coretemp gets its values?

Greetings

lynix

Last edited by lynix (2010-03-15 21:59:57)

Offline

#2 2010-03-15 22:09:55

Skripka
Member
From: 2X1280X1024
Registered: 2009-02-19
Posts: 555

Re: Intel Core i7 - coretemp readings

Are all 8 readings coming off the CPU, and not other thermal sensors on your mainboard?

Offline

#3 2010-03-16 05:55:21

anonymous_user
Member
Registered: 2009-08-28
Posts: 3,059

Re: Intel Core i7 - coretemp readings

Maybe the temp for each physical core is reported twice?

Offline

#4 2010-03-16 07:43:25

dcc24
Member
Registered: 2009-10-31
Posts: 737

Re: Intel Core i7 - coretemp readings

The coretemp driver doesn't officially (or in some cases not at all) support Clarkdale and Arrandale CPUs (all i3, i5 and i7). There's a kernel bug opened for that and it's being worked on: http://bugzilla.kernel.org/show_bug.cgi?id=15348


It is better to keep your mouth shut and be thought a fool than to open it and remove all doubt. (Mark Twain)

My AUR packages

Offline

#5 2010-03-16 07:59:01

lynix
Member
From: Karlsruhe, Germany
Registered: 2008-04-23
Posts: 230

Re: Intel Core i7 - coretemp readings

@Skripka: yes, all values do come from the coretemp sensors. I have no other hw-monitoring module loaded and I read them manually via /proc (not lm_sensors or something).

@anonymous_user: that's what I first thought. But as I said, all values are pairwise different, so I see no multiplexing.

@dcc24: Thanks, didn't find that one. I saw the nasty hack labeled "i7 support" as commit and thought they were all fully supported.

Well, then I'll wait patiently until my cpu gets support. smile

Offline

#6 2010-03-16 11:28:56

dcc24
Member
Registered: 2009-10-31
Posts: 737

Re: Intel Core i7 - coretemp readings

lynix wrote:

Well, then I'll wait patiently until my cpu gets support. smile

Well, join the bandwagon smile I'm still waiting on the i3 smile


It is better to keep your mouth shut and be thought a fool than to open it and remove all doubt. (Mark Twain)

My AUR packages

Offline

#7 2010-03-16 12:11:14

Ultraman
Member
Registered: 2009-12-24
Posts: 242

Re: Intel Core i7 - coretemp readings

dcc24 wrote:

The coretemp driver doesn't officially (or in some cases not at all) support Clarkdale and Arrandale CPUs (all i3, i5 and i7). There's a kernel bug opened for that and it's being worked on: http://bugzilla.kernel.org/show_bug.cgi?id=15348

Not all i5 and i7 CPU belong to the Clarkdale and Arrendale families!
Clarkdale and Arrendale are the new types, 32nm models.
And there is also difference over the sockets, namely LGA1156 and LGA1366.

The topicstarter has an i7 920, which is a LGA1366 type, belongs to the Bloomfield family. 45nm.
This CPU should be supported by the coretemp module afaik. Same for the other LGA1366 i7 CPUs, perhaps except the new 6-core types (Gulftown).

CPUs: i5 750(S), i7 860(S), i7 870(S).
These are LGA1156 types, Lynnfield family, 45nm.
I have an i7 860 myself and cannot get temps from coretemp. But I have not looked into it to great extend, so perhaps it's simply configuration at my end preventing me to get temp readings.

CPUs: all i3, i5 4xx/5xx/6xx series, i7 6xx series
These are Clarkdale and Arrendale types. You will find these at the low- to mid-end in desktops (Clarkdale) and these also make up most of the laptop offerings (Arrendale). 32 nm. I believe these are all dual-cores, some with HyperThreading to create 4 virtual cores.
The are unsupported by the coretemp module at this time, afaik.

Last edited by Ultraman (2010-03-16 14:12:17)

Offline

#8 2010-03-16 12:56:53

dcc24
Member
Registered: 2009-10-31
Posts: 737

Re: Intel Core i7 - coretemp readings

Ultraman wrote:

CPUs: all i3, i5 4xx/5xx/6xx series, i7 6xx series
These are Clarkdale and Arrendale types. You will find these at the low- to mid-end in desktops (Clarkdale) and these also make up most of the laptop offerings (Arrendale). 32 nm. I believe these are all dual-cores, some with HyperThreading to create 4 virtual cores.
The are unsupported by the coretemp module at this time, afaik.

Small correction here. i3s and i5s are dual core (4 with HT) whereas i7s are quad core (8 with HT).

Also, the highest CPU model supported by the coretemp driver so far is 0x1e. You can check your model through /proc/cpuinfo. If the model number is less than 0x1e (hex) then it should be supported. Otherwise, you just have to wait for an updated driver.

Last edited by dcc24 (2010-03-16 12:58:58)


It is better to keep your mouth shut and be thought a fool than to open it and remove all doubt. (Mark Twain)

My AUR packages

Offline

#9 2010-03-16 13:48:45

Ultraman
Member
Registered: 2009-12-24
Posts: 242

Re: Intel Core i7 - coretemp readings

dcc24 wrote:

Small correction here. i3s and i5s are dual core (4 with HT) whereas i7s are quad core (8 with HT)..

When you are correcting someone, make sure you get it right tongue

I quote myself:

CPUs: all i3, i5 4xx/5xx/6xx series, i7 6xx series

These are all dual-cores. Note I defined the specific CPU series.
Core i7 7xx(Q/X)M and 8xx series are quad-cores with HT (virtual 8 core).
Core i7 6xx are dual cores with HT (virtual 4 core). These are Arrendale family, mobile processors.
Modelnames:
- 610E
- 620(L/U)M/E
- 640(L/U)M

smile

Also, the highest CPU model supported by the coretemp driver so far is 0x1e. You can check your model through /proc/cpuinfo. If the model number is less than 0x1e (hex) then it should be supported.

0x1e = 30

stefan@bacchus ~ $ cat /proc/cpuinfo | grep model
model        : 30

Hmm, so mine should work... but it does not.
Did some checking, seems I do not have the coretemp module loaded. So I loaded it and checked my dmesg tail.

coretemp coretemp.0: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.1: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.2: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.3: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.4: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.5: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.6: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.7: Unable to access MSR 0xEE, for Tjmax, left at default

Going to see if I can find it's output somewhere...

[Edit]
Installed lm_sensors to make my life a little easier... but it doesn't detect anything.

Intel Core family thermal sensor...                         No

And my Fintek SuperI/O doesnt have a driver in .32, I believe it does in kernel .33. Won't be long now. smile

But running 'sensors' does work! big_smile
I get 8 entries like this:

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

Also the virtual cores get a readout, which are 3 to 4 degrees lower. But Core 0, 2, 4 and 6 all show +26.0°C consistently smile

Last edited by Ultraman (2010-03-16 14:07:59)

Offline

#10 2010-03-16 13:50:48

dcc24
Member
Registered: 2009-10-31
Posts: 737

Re: Intel Core i7 - coretemp readings

Ultraman wrote:
dcc24 wrote:

Small correction here. i3s and i5s are dual core (4 with HT) whereas i7s are quad core (8 with HT)..

When you are correcting someone, make sure you get it right tongue

I quote myself:

CPUs: all i3, i5 4xx/5xx/6xx series, i7 6xx series

These are all dual-cores. Note I defined the specific CPU series.
Core i7 7xx(Q/X)M and 8xx series are quad-cores with HT (virtual 8 core).
Core i7 6xx are dual cores with HT (virtual 4 core). These are Arrendale family, mobile processors.
Modelnames:
- 610E
- 620(L/U)M/E
- 640(L/U)M

smile

I stand corrected big_smile


It is better to keep your mouth shut and be thought a fool than to open it and remove all doubt. (Mark Twain)

My AUR packages

Offline

#11 2010-03-16 16:06:06

dcc24
Member
Registered: 2009-10-31
Posts: 737

Re: Intel Core i7 - coretemp readings

Ultraman wrote:
stefan@bacchus ~ $ cat /proc/cpuinfo | grep model
model        : 30

Hmm, so mine should work... but it does not.
Did some checking, seems I do not have the coretemp module loaded. So I loaded it and checked my dmesg tail.

coretemp coretemp.0: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.1: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.2: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.3: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.4: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.5: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.6: Unable to access MSR 0xEE, for Tjmax, left at default
coretemp coretemp.7: Unable to access MSR 0xEE, for Tjmax, left at default

First of all, you can actually load the coretemp module, so it does detect your CPU correctly. Problem is, TjMax stuff isn't properly supported right now. Huaxu Wan from Intel says they are working on it. ( See here: http://bugzilla.kernel.org/show_bug.cgi?id=15348)

So we should expect a working driver soon.

Last edited by dcc24 (2010-03-16 16:06:55)


It is better to keep your mouth shut and be thought a fool than to open it and remove all doubt. (Mark Twain)

My AUR packages

Offline

#12 2010-03-16 16:16:06

Ultraman
Member
Registered: 2009-12-24
Posts: 242

Re: Intel Core i7 - coretemp readings

dcc24 wrote:

First of all, you can actually load the coretemp module, so it does detect your CPU correctly.

Yup, it loads fine so it sure is working smile

Problem is, TjMax stuff isn't properly supported right now. Huaxu Wan from Intel says they are working on it. ( See here: http://bugzilla.kernel.org/show_bug.cgi?id=15348)

So we should expect a working driver soon.

Good to see work is being done on it. big_smile

Last edited by Ultraman (2010-03-16 16:16:46)

Offline

#13 2010-03-17 20:45:15

lynix
Member
From: Karlsruhe, Germany
Registered: 2008-04-23
Posts: 230

Re: Intel Core i7 - coretemp readings

My i7 is

processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz

and i got those errors in dmesg for Tjmax, too. What I don't understand is this multiplexing with minimal difference of values that are read for the virtual cores.
Are they read asynchronously und therefore differ? Is the affinity virtual<->physical cores fixed? Because if it is, then one could simply ignore the spare values or get an average on them per-core (physical).

Well, I think I'll better be waiting for .33 and probably start reading the source smile

Last edited by lynix (2010-03-17 20:46:22)

Offline

#14 2012-07-08 13:26:09

CyrIng
Member
From: France
Registered: 2010-07-17
Posts: 109
Website

Re: Intel Core i7 - coretemp readings

I'm programming Core i7 reading through MSR registers and notice that logical core temps differed because of delais between each reading
Here my screen shoot of my software
http://blog.cyring.fr/2012/07/07/apercu … d/?lang=en

Last edited by CyrIng (2012-07-08 13:40:22)

Offline

Board footer

Powered by FluxBB