Der AMD k10temp-Linux-Treiber wird für die CPU-Temperaturmeldung bei allen modernen AMD Ryzen/EPYC-Prozessoren sowie bei vielen früheren FX-/Athlon-/Sempron-/Opteron-/Phenom-CPUs verwendet, beginnend mit der Family 10h-Reihe. Obwohl dieser Treiber schon seit Jahren im Linux-Kernel enthalten ist, weist er bisher die Einschränkung auf, dass er die Meldung negativer Temperaturen nicht verarbeiten kann. Das ändert sich dank neuer Patches von AMD.
Aufgrund trivialer if-Anweisungen wurden Tctl-und Tdie-Temperaturen unter Null auf Null zurückgesetzt. Vermutlich geschah dies auf der Grundlage der Annahme, dass solche negativen Temperaturwerte ungenau seien. In bestimmten Fällen, beispielsweise bei extremer Übertaktung mit flüssigem Stickstoff und ausgewählten industriellen Anwendungen usw., sind jedoch negative Temperaturen möglich.
Dieser Patch von AMD-Ingenieur Baskaran Kannan aktualisiert Der k10temp-Treiber lässt negative Temperaturen zu, indem er die vorherigen „Wenn kleiner als Null“-Prüfungen weglässt.
Ich war selbst ziemlich neugierig, warum AMD an der Unterstützung negativer Temperaturen für Linux arbeitet… Nein, sie führen keine wilde LN2-Übertaktung durch oder bedienen einige Linux-Enthusiasten. Vielmehr heißt es im Patch, dass „es Industrieprozessoren gibt, die unter Null arbeiten“. Vermutlich sind Benutzer von industriellem Linux auf diesen Fehler gestoßen, obwohl der AMD-Patch die spezifischen industriellen Anwendungen, die AMD-basierte Linux-Systeme mit Minusgraden nutzen, nicht berücksichtigt.
Angesichts der Einfachheit des Patches sollte er für das Merge-Fenster von Linux 6.5 übernommen werden, wenn nicht schon früher, als Fix für den laufenden v6.4-Zyklus.