Re: reading on-die temperature sensor of AMD A10 5700 processor

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

 





On Wed, Aug 14, 2013 at 4:03 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
On Wed, Aug 14, 2013 at 03:06:35PM -0400, Dev, Kapil wrote:
> On Wed, Aug 14, 2013 at 2:29 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
>
> > On Wed, Aug 14, 2013 at 01:20:57PM -0400, Dev, Kapil wrote:
> > > On Wed, Aug 14, 2013 at 1:30 AM, Guenter Roeck <linux@xxxxxxxxxxxx>
> > wrote:
> > >
> > > > On 08/13/2013 10:17 PM, Kapil Dev wrote:
> > > >
> > > >>
> > > >> On Aug 14, 2013, at 12:56 AM, Guenter Roeck <linux@xxxxxxxxxxxx>
> > wrote:
> > > >>
> > > >>  On 08/13/2013 08:09 PM, Dev, Kapil wrote:
> > > >>>
> > > >>>>
> > > >>>>
> > > >>>> On Tue, Aug 13, 2013 at 11:02 PM, Guenter Roeck <linux@xxxxxxxxxxxx
> > <mailto:
> > > >>>> linux@xxxxxxxxxxxx>> wrote:
> > > >>>>
> > > >>>>     On 08/13/2013 07:41 PM, Dev, Kapil wrote:
> > > >>>>
> > > >>>>         Thanks again Guenter!
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>         On Tue, Aug 13, 2013 at 5:51 PM, Guenter Roeck <
> > > >>>> linux@xxxxxxxxxxxx <mailto:linux@xxxxxxxxxxxx> <mailto:
> > > >>>> linux@xxxxxxxxxxxx <mailto:linux@xxxxxxxxxxxx>>> wrote:
> > > >>>>
> > > >>>>              On Tue, Aug 13, 2013 at 05:11:31PM -0400, Dev, Kapil
> > wrote:
> > > >>>>               > Thanks for the response Guenter!
> > > >>>>               >
> > > >>>>               > I put the system on load and I noticed their value
> > > >>>> hardly changes. To my
> > > >>>>               > surprise, I ran a benchmark for 3 minutes and none
> > of
> > > >>>> temp*  values changed
> > > >>>>               > during execution. The highest reported temperature
> > is
> > > >>>> always 48C.
> > > >>>>               >
> > > >>>>               > I was expecting that the internal temperature would
> > > >>>> have "sensor = thermal
> > > >>>>               > diode" or "sensor = core" as a keyword. I thought
> > > >>>> "sensor=thermistor" means
> > > >>>>               > the corresponding sensor is on the motherboard and
> > not
> > > >>>> the internal
> > > >>>>               > die-sensor.
> > > >>>>               >
> > > >>>>              Sure, but who knows if they put a sensor below the CPU
> > for
> > > >>>> some reason ...
> > > >>>>
> > > >>>>              I am not familiar with the A10 CPUs. Are those similar
> > to
> > > >>>> K10 ?
> > > >>>>              If so, maybe the k10temp driver works or could be
> > extended
> > > >>>> to support it.
> > > >>>>              Can you give it a try ?
> > > >>>>
> > > >>>>              If it does not work out of the box, can you send me the
> > > >>>> output of "lspci -nn" ?
> > > >>>>
> > > >>>>
> > > >>>>         Kapil: I believe K10 corresponds to A8 seried, and A10 has
> > > >>>> Bulldozer architecture (http://www.cpu-world.com/__**
> > > >>>> CPUs/Bulldozer/TYPE-A10-__**Series.html<
> > http://www.cpu-world.com/__CPUs/Bulldozer/TYPE-A10-__Series.html><
> > > >>>> http://www.cpu-world.com/**CPUs/Bulldozer/TYPE-A10-**Series.html<
> > http://www.cpu-world.com/CPUs/Bulldozer/TYPE-A10-Series.html>>).
> > > >>>> I am not sure how different they are though. I tried K10, but it
> > did not
> > > >>>> work out of the box. I am looking into k10temp.c driver now. Also,I
> > am
> > > >>>> attaching the output of "lspci -nn" command herewith; you might
> > have to
> > > >>>> open it using wordpad for proper formatting..
> > > >>>>
> > > >>>>
> > > >>>>     Your lspci output includes
> > > >>>>
> > > >>>>     00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] Device
> > > >>>> [1022:1403]
> > > >>>>
> > > >>>>     which is supported by the latest k10temp driver. Support was
> > added
> > > >>>> early last year.
> > > >>>>     What is your kernel version, and can you switch to a more recent
> > > >>>> version ?
> > > >>>>
> > > >>>>
> > > >>>> Kapil: I have 2.6.39-020639-generic kernel. Is it too old kernel for
> > > >>>> k10temp driver to work? Which stable kernel should I upgrade to?
> > > >>>>
> > > >>>>
> > > >>> You need 3.4 or later.
> > > >>>
> > > >>
> > > >> Kapil: I was trying to avoid updating the kernel because my current
> > > >> kernel is setup for running different type of benchmarks etc. Seems
> > like I
> > > >> can't avoid updating the kernel; I will do it..
> > > >>
> > > >>  Alternative would be to back-port the k10temp driver from a later
> > > > kernel. Then you can keep running the old one.
> > > >
> > > >
> > > Kapil: Not sure how to do that. I am already taking the k10temp driver
> > from
> > > here: http://khali.linux-fr.org/devel/lm-sensors/drivers/k10temp/ and
> > > compiling and using it.
> > >
> > That version should already have support for your chip unless I am missing
> > something. If you already use it, a newer kernel version will not help.
> >
> > Do you get any kernel log message when you try to load it ?
> >
>
> Kapil: When I insert the module using: sudo insmod k10temp.ko, I don't get
> any message on terminal. However, when I compile ktemp10.c file using make,
> I get following warnings; I am not sure if they are acceptable.
> ----------------------------------------------------------------------------
> make[1]: Entering directory `/usr/src/linux-headers-2.6.39-020639-generic'
>   CC [M]  /home/amd_a10/k10temp_driver/k10temp.o
> /home//amd_a10/k10temp_driver/k10temp.c:232: warning: data definition has
> no type or storage class
> /home//amd_a10/k10temp_driver/k10temp.c:232: warning: type defaults to
> ‘int’ in declaration of ‘module_pci_driver’
> /home//amd_a10/k10temp_driver/k10temp.c:232: warning: parameter names
> (without types) in function declaration
> /home//amd_a10/k10temp_driver/k10temp.c:225: warning: ‘k10temp_driver’
> defined but not used
>   Building modules, stage 2.
>   MODPOST 1 modules
>   CC      /home/amd_a10/k10temp_driver/k10temp.mod.o
>   LD [M]  /home/amd_a10/k10temp_driver/k10temp.ko
> make[1]: Leaving directory `/usr/src/linux-headers-2.6.39-020639-generic'
>
There is no definition for module_pci_driver in your kernel,
thus the initialization code won't run and the driver will
not really be doing anything.

You will have to replace

module_pci_driver(k10temp_driver);

with

static int __init k10temp_init(void)
{
        return pci_register_driver(&k10temp_driver);
}

static void __exit k10temp_exit(void)
{
        pci_unregister_driver(&k10temp_driver);
}

module_init(k10temp_init)
module_exit(k10temp_exit)


Kapil: After making above changes, I think it seems to work now. Now I am getting following output from sensors:
f71869-isa-0e80
Adapter: ISA adapter
in0:         +1.69 V
in1:         +0.90 V
in2:         +1.21 V
in3:         +1.22 V
in4:         +1.49 V
in5:         +1.22 V
in6:         +1.19 V
in7:         +1.73 V
in8:         +1.66 V
fan1:       2177 RPM
fan2:          0 RPM  ALARM
fan3:          0 RPM  ALARM
temp1:       +24.0 C  (high = +85.0 C, hyst = +81.0 C)  
                      (crit = +100.0 C, hyst = +96.0 C)  sensor = thermistor
temp2:       +32.0 C  (high = +85.0 C, hyst = +81.0 C)  
                      (crit = +100.0 C, hyst = +96.0 C)  sensor = thermistor
temp3:       +48.0 C  (high = +70.0 C, hyst = +68.0 C)  
                      (crit = +85.0 C, hyst = +83.0 C)  sensor = thermistor

k10temp-pci-00c3
Adapter: PCI adapter
temp1:       +4.5 C  (high = +70.0 C, crit = +70.0 C)   

I believe temp1 from PCI adapter denotes the core-temperature? But, it is definitely off by 20-30C; its hard to believe that the temperature would be 4.5C under fan based cooling system. I ran a SPEC hmmer benchmark and plotted the temperature over time. temp1 seems to change now. I am attaching the plots herewith.

Please let me know if there is a way to calibrate the core-temperature.

Thanks a lot for your help!


Guenter


Attachment: testTempSensor.pdf
Description: Adobe PDF document

_______________________________________________
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