Date: Fri, 20 Dec 2019 08:09:23 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 233764] [amdtemp] does not know correct offset for AMD Family 15h (A8-7600, FX-8300, etc) Tctl Message-ID: <bug-233764-227-BeC74Gii2K@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-233764-227@https.bugs.freebsd.org/bugzilla/> References: <bug-233764-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D233764 Alexey Dokuchaev <danfe@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |danfe@FreeBSD.org --- Comment #23 from Alexey Dokuchaev <danfe@FreeBSD.org> --- Unfortunately, our amdtemp(4) driver is doing the best it can according to = the spec. Starting with the Phenoms, AMD's digital sensor no longer reports an absolute temperature value anymore, but a reading with a certain offset, wh= ich isn't really known; it might not even be constant per CPU type. I believe that some proprietary tools employ certain tricks or use undocume= nted pieces of knowledge to make up for this, but e.g. Open Hardware Monitor uses the same formula as FreeBSD plus allows to specify configurable "offset" wh= ich is zero by default: ((Tctl >> 21) & 0x7FF) / 8.0f. That is, Tctl is a non-physical temperature on an arbitrary scale (confusin= gly) measured in degrees Celsius with a resolution of 1/8th degree. AMD designed this equation to accurately read load temperatures (45=C2=B0C+). It has an equational offset to determine them which equalizes at 45=CC=81=C2=B0C. Si= nce it's designed for peak values and is a non-physical temperature it cannot read i= dle temperatures or account for ambient temperature correctly. That's why popular tools like HWinfo64, MWmonitor, or Aida64 usually report= two values: one for the socket and another for the core temperature. The socket value is what you should look at if you want an idea of idle temperature and the core one for the CPU temperature under load. I understand that it's somewhat frustrating to see BIOS and AMD Overdrive reporting seemingly sane temperatures across the entire spectrum, but it is most likely a cumulative reading from a number of different sensors, most of which are out of scope of amdtemp(4) or even undocumented at all. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-233764-227-BeC74Gii2K>