Missing: hw.acpi.thermal.tz%d._HOT

Ian Smith smithi at nimnet.asn.au
Sun Jun 15 04:44:08 UTC 2014


On Sat, 14 Jun 2014 11:07:41 -0700, Sean Bruno wrote:

 > > Just for curious minds:
 > > 
 > > Afternoon and evenings bring direct sunlight to where the machine is.
 > > And I guess that is showing? probably?
 > > # sysctl dev.cpu | grep temp
 > > dev.cpu.0.temperature: 16.8C
 > > dev.cpu.1.temperature: 16.8C
 > > dev.cpu.2.temperature: 16.8C
 > > dev.cpu.3.temperature: 16.8C
 > > dev.cpu.4.temperature: 16.8C
 > > dev.cpu.5.temperature: 16.8C
 > > dev.cpu.6.temperature: 16.8C
 > > dev.cpu.7.temperature: 16.8C
 > 
 > 
 > I have an FX-8150 based system similar, but a bit older that this one:
 > Base Board Information
 >         Manufacturer: ASUSTeK Computer INC.
 >         Product Name: M5A88-M
 > 
 > Processor Information
 >         Socket Designation: AM3R2
 >         Type: Central Processor
 >         Family: FX
 >         Manufacturer: AMD              
 >         ID: 12 0F 60 00 FF FB 8B 17
 >         Version: AMD FX(tm)-8150 Eight-Core Processor   

Which family, model, stepping is that?

 > At idle, the machine reports pretty low temps:
 > dev.amdtemp.0.%desc: AMD CPU On-Die Thermal Sensors
 > dev.amdtemp.0.%driver: amdtemp
 > dev.amdtemp.0.%parent: hostb4
 > dev.amdtemp.0.sensor_offset: 0
 > dev.amdtemp.0.core0.sensor0: 16.2C

Is it water-cooled?  Roughly, what's the ambient temperature where it 
lives?  Short of forced water cooling, with the watertank feeling cool 
to the touch, I can't see how any electronic equipment can run anything 
like that cool.  If you touch the heatsink, is it cooler than ambient?

 > But when doing builds with all the cpus firing:
 > dev.amdtemp.0.core0.sensor0: 49.5C
 > ...
 > dev.amdtemp.0.core0.sensor0: 52.3C
 > ...
 > dev.cpu.0.temperature: 53.0C
 > 
 > 
 > Seems legit to me.

I don't think so.  Maybe becaus we use Centigrade here.  16C is ~62F, 
I'd have a wooly jumper on.  50C ~= 120F, we get days that hot outback.
  
There's mention in amdtemp.c of some models having a -28C offset:
#define AMDTEMP_FLAG_ALT_OFFSET 0x04 /* CurTmp starts at -28C. */

and later:

535 	mask = (sc->sc_flags & AMDTEMP_FLAG_CT_10BIT) != 0 ? 0x3ff : 0x3fc;
536 	offset = (sc->sc_flags & AMDTEMP_FLAG_ALT_OFFSET) != 0 ? 28 : 49;
537 	temp = pci_read_config(dev, AMDTEMP_THERMTP_STAT, 4);
538 	temp = ((temp >> 14) & mask) * 5 / 2;
539 	temp += AMDTEMP_ZERO_C_TO_K + (sc->sc_offset - offset) * 10;

I'm not claiming to follow that through the masking, shift and factor, 
and it's returned in Kelvin anyway, but there's clearly a 21 $something 
difference in offset for some models, and see the XXX comments there.

16C + 21C = 37C, which is believable at idle.  53C + 21C = 74C, which is 
quite believable for 8 busy cores, assuming a good h/s & fan.  You can 
leave your finger, for a good while anyway, on a heatsink at 53C.  74C 
will burn you quite quickly; here anyway, most home hot water systems 
are set to deliver between 60 and 70C, which will scald before long.

Touch test?

cheers, Ian


More information about the freebsd-acpi mailing list