Re: [PATCHv4 1/1] Hwmon: Add core/pkg Threshold Support to Coretemp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Guenter, Durgadoss,

Sorry for the very late comment.

On Wed, 13 Jul 2011 13:48:11 -0700, Guenter Roeck wrote:
> On Tue, 2011-07-12 at 07:07 -0400, Durgadoss R wrote: 
> > This patch adds the core and pkg support to coretemp.
> > These thresholds can be configured via the sysfs interfaces tempX_max
> > and tempX_max_hyst. An interrupt is generated when CPU temperature reaches
> > or crosses above tempX_max OR drops below tempX_max_hyst.
> > 
> > This patch is based on the documentation in IA Manual vol 3A, that can be
> > downloaded from here:
> > http://download.intel.com/design/processor/manuals/253668.pdf
> > 
> > Signed-off-by: Durgadoss R <durgadoss.r@xxxxxxxxx>
> 
> Looks like it is working now, so I applied the patch to -next.

Working, really? That's not how it looks like from here.

On my Xeon E5520, the output looked like this before the patch:

coretemp-isa-0000
Core 0:       +61.0°C  (high = +87.0°C, crit = +97.0°C)
Core 1:       +56.0°C  (high = +87.0°C, crit = +97.0°C)
Core 2:       +57.0°C  (high = +87.0°C, crit = +97.0°C)
Core 3:       +56.0°C  (high = +87.0°C, crit = +97.0°C)

And now it looks like this :

coretemp-isa-0000
Core 0:       +61.0°C  (high = +97.0°C, hyst =  +0.0°C)
                       (crit = +97.0°C)
Core 1:       +57.0°C  (high = +97.0°C, hyst =  +0.0°C)
                       (crit = +97.0°C)
Core 2:       +60.0°C  (high = +97.0°C, hyst =  +0.0°C)
                       (crit = +97.0°C)
Core 3:       +56.0°C  (high = +97.0°C, hyst =  +0.0°C)
                       (crit = +97.0°C)

High == crit doesn't make much sense, and neither does hyst == 0.

Looking at the code, it seems that the hyst value (tmin) is simply
never read from the CPU. I wrote a fix, I'll send it shortly. After
properly initializing tmin, I get the following:

coretemp-isa-0000
Core 0:       +61.0°C  (high = +97.0°C, hyst = +97.0°C)
                       (crit = +97.0°C)
Core 1:       +57.0°C  (high = +97.0°C, hyst = +97.0°C)
                       (crit = +97.0°C)
Core 2:       +59.0°C  (high = +97.0°C, hyst = +97.0°C)
                       (crit = +97.0°C)
Core 3:       +56.0°C  (high = +97.0°C, hyst = +97.0°C)
                       (crit = +97.0°C)

I am still suspicious... Does this mean that the thermal interrupt
mechanism is disabled by default?

What happened to the old high limit value (87°C)? I don't know what
meaning it had physically but at least the value was reasonable.

How comes that the driver doesn't use THERM_INT_THRESHOLD0_ENABLE and
THERM_INT_THRESHOLD1_ENABLE? If the thresholds can be disabled, then
the driver should certainly handle these cases.

On my Core Duo T2600n the output looks like:

coretemp-isa-0000
Core 0:      +54.0°C  (high = +47.0°C, hyst = +64.0°C)  ALARM
                      (crit = +100.0°C)
Core 1:      +55.0°C  (high = +47.0°C, hyst = +64.0°C)  ALARM
                      (crit = +100.0°C)

High at 47°C by default seems unreasonable, and hyst > high even more
so. But at least the ALARM flags are consistent with these limits.

Lastly, on Core2 Duo E6400, I get this :

coretemp-isa-0000
Core 0:       +71.0°C  (high = +100.0°C, hyst = +100.0°C)
                       (crit = +100.0°C)
Core 1:       +69.0°C  (high = +100.0°C, hyst = +100.0°C)
                       (crit = +100.0°C)

So problem is the same as on my Xeon E5520: it looks like the
thresholds are disabled?

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux