Manuelle P-State Änderungen anzeigen.

K

K7Fan

Gast
Hallo,
Wenn ich einen P-State manuell durch Scrheiben in das entsprechende MSR ändere oder den aktiven P-State festlege dann wird das nirgends übernommen bzw. angezeigt. Weder cpufreq-info, lscpu, /sys/devices/system/cpu/cpuX/cpufreq/scaling_curr_freq noch /proc/cpuinfo zeigen das entsprechend an.
Bei einem manuellen Wechsel von P3(800MHz)->P0(3GHz) wird zum Beispiel bei all den genannten Methoden immer noch 800MHz als CPU Frequenz angegeben. Tatsächlich laufen alle Kerne aber auf 3GHz was alleine schon aufgrund der extrem ansteigenden Temperatur dieses phenomenalen Heizelementes kaum zu übersehen wäre. Auch eine große Datei per gzip zu komprimieren wird ca. 3,5x schneller was gut zur Taktänderung von P3 zu P0 passt.


Automatische Wechsel durch den govenor werden, sofern er aktiv ist, dagegen an sich korrekt angezeigt. Ändert man allerdings die Frequenz eines P-State wird das dabei jedoch nicht übernommen sondern immer die Frequenz angezeigt die er beim booten hatte.
Beim Prozessor handelt es sich um einen PhenomII 955, OS ist Mint 19.1 mit 4.15.0-20.

Wie bekommt man solche Änderungen übernommen?
 
Hilft Dir das hier weiter?


In diesem Sinne

Smartcom
 
Danke für die Antwort.

Leider nur sehr begrenzt, der Kernel(treiber) und alles darauf Aufbauende hat von den Änderungen keine Ahnung und zeigt daher falsche Daten an. Am angehängten Screenshot sieht man das sehr gut.

Mal ein Beispiel mit nur zu Testzwecken veränderten PStates.
Links ist mein kleines Programm zu sehen das mir die aktuellen PStates, Freq, Vcroe usw anzeigt. Rechts das aus dem Artikel verwendete cpupower -c 0 frequency-info.
Die "available frequency steps" entsprechen nicht dem was aktuell auf der CPU vorhanden ist.
"Current CPU frequency" ist ebenso falsch, cpu0 hat überhaupt keinen PState mit 800MHz. Das "asserted to call by hardware" ist auch mehr Schein als Sein,da wurde nur das MSR für den aktuellen PState ausgelesen und dann erst wieder mit einer veralteten PS-Tabelle verglichen. Richtigerweise hätte es die Frequenz direkt aus dem entsprechenden MSR lesen müssen wie es mein Programm macht.
Weiter unten listet es hingegen ironischerweise die PStates korrekt auf, da dürfte es sie wohl aus den MSR gelesen haben.

Darunter der Inhalt von /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq, ebenfalls falsch.
/proc/cpuinfo daher ebenso komplett daneben.
Ganz rechts unten an der Taskleiste zeigt das Applet wie zu erwarten auch Schwachsinn an.

Wahrscheinlich bleibt mir sowieso nichts anderes übrig als den zuständigen Treiber zu finden und zu modifizieren weil das Genie welches ihn schrieb offenbar davon ausging dass PStates nicht veränderlich sind und nur vom governor geändert werden.


P.S. Die CPU ist etwas undervoltet, bei CPU3 ist der originale Nonsens in P1 noch erhalten ;)

PS.jpg
 
  • Gefällt mir
Reaktionen: Smartcom5
Zurück
Oben