FreeBSD Developers Tackle AMD Zen/Ryzen Temperature Monitoring Before Linux

Written by Michael Larabel in BSD on 7 September 2017 at 08:26 AM EDT. 15 Comments
BSD
While Linux users of AMD's new Zen-based Ryzen/Threadripper/Epyc processors are still waiting for thermal driver support to hit the mainline Linux kernel, FreeBSD developers have already managed to produce the Zen "Family 17h" CPU thermal monitoring support on their own.

From this FreeBSD bug report, developers have managed to get the AMD CPU temperature monitoring working for Zen processors under Linux with their existing temperature driver.

The main patch to FreeBSD's amdtemp driver is relatively small to get the CPU temperature reporting working for the Zen cores. The work can now be found in the latest FreeBSD 12.0-CURRENT state and appears to be working correctly to users.

It's unfortunate there isn't this support yet for the mainline Linux kernel, not even with the hwmon changes for Linux 4.14, especially with the high-wattage Threadripper and EPYC CPUs becoming readily available.

The last I heard from AMD is that they were working on getting the documentation released to the necessary developer(s) for adding support to Linux. Judging from the FreeBSD work, it should just be a few lines of work getting the support under Linux and should just be able to extend the k10temp driver that supports the AMD Family 10h and newer CPUs and not even needing a brand new thermal driver for Zen CPUs.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week