Discussion:
Threadripper Thermal strangeness.
Add Reply
Zaphod Beeblebrox
2018-11-05 21:23:22 UTC
Reply
Permalink
So ... I have the lowliest threadripper ... the 1900X in a motherboard that
I dual-boot between Windows 10 and FreeBSD.

Under windows 10, the variable fan stuff behaves. Under light load, the
CPU sticks around 40C and under heavy load it can spike as high as 55C as
the water pump and fans spool up.

Even though the variable fan stuff seems to operate under FreeBSD (as a
function of the motherboard's microcontroller or whatnot), as I was having
problems, I disabled the feature and set all fans to simply "on" or 100%.

kldloading "amdtemp.ko" reports an idle temp of 55C or so and heavy
compiling (make world -j32) reports temperatures as high as 95C ... upto
and including some instability and/or crash or rebooting.

... now... is this due to thermal throttling not kicking in? Is windows
miss-reporting the temperature? Is FreeBSD miss-reporting the
temperature? Has anyone else experienced this?
Rebecca Cran via freebsd-hackers
2018-11-05 23:13:45 UTC
Reply
Permalink
Post by Zaphod Beeblebrox
kldloading "amdtemp.ko" reports an idle temp of 55C or so and heavy
compiling (make world -j32) reports temperatures as high as 95C ... upto
and including some instability and/or crash or rebooting.
I have a new Threadripper 2990WX in an ASUS motherboard - and mine just
reports ridiculous values:

% sysctl dev.amdtemp | grep sensor
dev.amdtemp.3.core0.sensor0: 112.6C
dev.amdtemp.3.sensor_offset: 0
dev.amdtemp.2.core0.sensor0: 113.5C
dev.amdtemp.2.sensor_offset: 0
dev.amdtemp.1.core0.sensor0: 111.7C
dev.amdtemp.1.sensor_offset: 0
dev.amdtemp.0.core0.sensor0: 114.5C
dev.amdtemp.0.sensor_offset: 0
--
Rebecca
Matt Joras
2018-11-05 23:44:59 UTC
Reply
Permalink
You have to use the sensor_offset to get the actual value at the die.
I believe for all Threadripper chips the offset is -27C.

Matt
On Mon, Nov 5, 2018 at 3:14 PM Rebecca Cran via freebsd-hackers
Post by Rebecca Cran via freebsd-hackers
Post by Zaphod Beeblebrox
kldloading "amdtemp.ko" reports an idle temp of 55C or so and heavy
compiling (make world -j32) reports temperatures as high as 95C ... upto
and including some instability and/or crash or rebooting.
I have a new Threadripper 2990WX in an ASUS motherboard - and mine just
% sysctl dev.amdtemp | grep sensor
dev.amdtemp.3.core0.sensor0: 112.6C
dev.amdtemp.3.sensor_offset: 0
dev.amdtemp.2.core0.sensor0: 113.5C
dev.amdtemp.2.sensor_offset: 0
dev.amdtemp.1.core0.sensor0: 111.7C
dev.amdtemp.1.sensor_offset: 0
dev.amdtemp.0.core0.sensor0: 114.5C
dev.amdtemp.0.sensor_offset: 0
--
Rebecca
_______________________________________________
https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
Rebecca Cran via freebsd-hackers
2018-11-05 23:52:18 UTC
Reply
Permalink
Post by Matt Joras
You have to use the sensor_offset to get the actual value at the die.
I believe for all Threadripper chips the offset is -27C.
Oh, thanks! I'm guessing there's something different about mine though,
because 114 - 27 is 87, and under Windows is reports 67C when it's completely
maxed out. Maybe with its 4 units (32 cores) the offset is -54C (2*27)
instead?
--
Rebecca
Post by Matt Joras
On Mon, Nov 5, 2018 at 3:14 PM Rebecca Cran via freebsd-hackers
Post by Rebecca Cran via freebsd-hackers
Post by Zaphod Beeblebrox
kldloading "amdtemp.ko" reports an idle temp of 55C or so and heavy
compiling (make world -j32) reports temperatures as high as 95C ... upto
and including some instability and/or crash or rebooting.
I have a new Threadripper 2990WX in an ASUS motherboard - and mine just
% sysctl dev.amdtemp | grep sensor
dev.amdtemp.3.core0.sensor0: 112.6C
dev.amdtemp.3.sensor_offset: 0
dev.amdtemp.2.core0.sensor0: 113.5C
dev.amdtemp.2.sensor_offset: 0
dev.amdtemp.1.core0.sensor0: 111.7C
dev.amdtemp.1.sensor_offset: 0
dev.amdtemp.0.core0.sensor0: 114.5C
dev.amdtemp.0.sensor_offset: 0
--
Rebecca
_______________________________________________
https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
Zaphod Beeblebrox
2018-11-06 16:58:18 UTC
Reply
Permalink
1. Wouldn't it make sense to integrate this information in amdtemp.ko?
2. isn't sensor offset an item in the sysctl output of amdtemp.ko ... and
it's value is 0 for me.
Post by Matt Joras
You have to use the sensor_offset to get the actual value at the die.
I believe for all Threadripper chips the offset is -27C.
Matt
On Mon, Nov 5, 2018 at 3:14 PM Rebecca Cran via freebsd-hackers
Post by Rebecca Cran via freebsd-hackers
Post by Zaphod Beeblebrox
kldloading "amdtemp.ko" reports an idle temp of 55C or so and heavy
compiling (make world -j32) reports temperatures as high as 95C ...
upto
Post by Rebecca Cran via freebsd-hackers
Post by Zaphod Beeblebrox
and including some instability and/or crash or rebooting.
I have a new Threadripper 2990WX in an ASUS motherboard - and mine just
% sysctl dev.amdtemp | grep sensor
dev.amdtemp.3.core0.sensor0: 112.6C
dev.amdtemp.3.sensor_offset: 0
dev.amdtemp.2.core0.sensor0: 113.5C
dev.amdtemp.2.sensor_offset: 0
dev.amdtemp.1.core0.sensor0: 111.7C
dev.amdtemp.1.sensor_offset: 0
dev.amdtemp.0.core0.sensor0: 114.5C
dev.amdtemp.0.sensor_offset: 0
--
Rebecca
_______________________________________________
https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "
Rebecca Cran via freebsd-hackers
2018-11-06 17:32:29 UTC
Reply
Permalink
Post by Zaphod Beeblebrox
1. Wouldn't it make sense to integrate this information in amdtemp.ko?
2. isn't sensor offset an item in the sysctl output of amdtemp.ko ... and
it's value is 0 for me.
I think it would make sense: it looks like amdtemp is fairly basic at the
moment, and the sensor offset is supposed to be set manually.
From amdtemp(4):

SYSCTL VARIABLES
The following variable is available as both sysctl(8) variable and
loader(8) tunable:

dev.amdtemp.%d.sensor_offset
Add the given offset to the temperature of the sensor. Default is 0.
--
Rebecca
Loading...