Endlich funktionierender amd pstate mit Kernel 6.3

gaelic

Lt. Commander
Registriert
Mai 2017
Beiträge
1.843
Liebe Leute.

Wahrlich good news für Linuxer mit AMD Hardware (vor allem in Notebooks). Ich habe heute Nachmittag den aktuellen linux-mainline-6.3_rc1 installiert und im Vergleich zu meinen früheren Versuchen läuft mein System (Lenovo Thinkpad z13gen1) wunderbar flott und zeigt keinerlei Lags oder sonstige Verzögerungen, wie sie bisher beim Verwenden von pstate aufgetreten sind.
 
  • Gefällt mir
Reaktionen: Hasenfutter, HeinzDo, Bleikrone und 8 andere
Bin in der aktuellen AMD Hardware unter Linux nicht so drin.

Ist das jetzt ein Gewinn für alle Linux Vanilla Zocker oder nur wenn man manuell mit den pstates herumfuhrwerkt?
 
Also per default ist pstate meines Wissens bei keiner Distri aktiv. Das muss man manuell aktivieren.

Aber ich kann nur sagen: die [gefühlte] Performance geht bei mir durch die Decke. Das System ist um einiges mehr reaktionsschnell. Und auch im Firefox ist der Gewinn richtig spürbar.

Disclaimer: wie schon geschrieben erst seit wenigen Stunden aktiv. Ich habe keinerlei Messungen gemacht und auch noch keine Checks bzgl. der Akkulaufzeit gemacht.
 
  • Gefällt mir
Reaktionen: emerald, polyphase und |Moppel|
Ok, ich habe kein interesse Release Candidate Kernel zu installieren, aber das klingt sehr interessant.
Mal schauen was sich aendert wenn der Kernel in Manjaro angekommen ist. :)
 
Danke für den Test 👍
Warten wir bis der Kernel fertig ist und die Distros das für alle aktivieren 😍

Wobei 6.2 auf meinem 3800X super läuft.
Nachdem ich vom Zen Kernel auf den normalen gewechselt bin 👍
 
  • Gefällt mir
Reaktionen: |Moppel|
polyphase schrieb:
Nachdem ich vom Zen Kernel auf den normalen gewechselt bin 👍
Wie hat sich das bei dir gezeigt? Ich bin auch mit dem Zen Kernel unterwegs und merke wenn ich ehrlich bin keinen Unterschied.
 
Bei Witcher 3 Nextgen (DX11) war trotz hoher FPS das Spiel gefühlt nicht flüssig.
Bei Kameraschwenks z.B. kam es einem vor wie das 24Hz Ruckeln von Kinofilmen.

Den normalen Kernel gewählt und weg war's.
 
  • Gefällt mir
Reaktionen: ufopizza
Nutze den amd-pstate schon länger auf dem Desktop-PC (5900X, 7900XTX, AM4-Mainboard, Arch Linux, Default-Kernel) und hatte bisher keine negativen Auffälligkeiten die ich jetzt zwangsweise darauf zurückführen könnte (bei W3 nextgen auch nicht), aber trotzdem gut zu hören dass es da Verbesserungen gab.
 
  • Gefällt mir
Reaktionen: polyphase
Hatte früher auch mal längere Zeit den Zen-Kernel genutzt aber nachdem ich im Alltag einfach so gar keinen Unterschied gemerkt hatte zum Default-Kernel, bin ich dann doch wieder auf den Default-Kernel zurückgeswitcht. Entsprechend meiner Philosophie: wenn man mit etwas, das mehr vanilla ist schon zufrieden ist, dann muss man nicht zwingend eine modifizierte Variante davon nutzen. Also auf dem Papier klingt das schon cool mit dem Zen-Kernel für Desktopsysteme. aber habe in der Praxis trotzdem nie einen Unterschied bemerkt. Vielleicht zu subtil für mich, oder meine halbwegs aktuelle Hardware gleicht solche Detailunterschiede wieder aus.
 
  • Gefällt mir
Reaktionen: Penman und polyphase
Der Zen Kernel steht doch in keinem Verhältnis mit AMD zusammen. So verstehe ich das aus Euren Antworten, wenn ich sie lese, das ihr das glaubt.

Besitze ein HP Notebook mit einer Ryzen 5500U APU. Installiert Arch Linux. Aus den AUR den 6.3.0-rc2-1-cachyos-rc Kernel und für die Watt Anhebung ryzenadj installiert. Damit freut einem das Herz, wenn beim Gamen die gleiche FPS Anzahl wie unter Windows raus kommt. Naja, bleiben wir ehrlich. Ganz in 1080p und gleicher FPS wie unter Win will es nicht immer gehen und man muss die Auflösung in 900p einstellen im Spiel unter Linux. Aber im ganzen funktioniert die APU mit Turbo Taktung und voller MHz und nicht wie unter einen 6.2 Kernel dem man es erst beibringen muss, das er über 2.1Ghz auch mal takten soll. Das ist meine Erfahrung was AMD Pstate angeht.
 
Ich bin mir noch nicht ganz sicher, was ich von dem PSTATE erwarten soll. Ich habe aktuell den 6.2.7-zen Kernel installiert und in der cmdline amd_pstate=passive aktiviert. Das hat mehr dazu geführt, dass mein 5900X jetzt auf 600 MHz runtertaktet und mein 6800HS auf bis zu 400 MHz. Nach oben hin, funktionierte der Turbotakt auch vorher schon wunderbar. Wobei ich aktuell dazu tendiere den die normale Max Taktrate als Maximum zu setzen, da das die Temperatur kaum über 50°C bewegt. Ein schnelles Umschalten zum "Unlocked" Profil muss ich mir noch einrichten, falls es dann doch mal etwas mehr zu tun gibt. Im einfach Desktop Betrieb ist die Leistung passabel.
Ich hatte auch ein paar amateurhafte Messungen zum Energieverbrauch des Ryzen 9 5900X gemacht und kam zum Fazit: Solange der Prozessor nicht arbeitet, kann er auch auf 4,7 GHz takten. Der Energieverbrauch ist steigt nicht nennenswert gegenüber dem idle mit 600 MHz an. Gibt es etwas zu rechnen, werden dann 150W aus der Dose gezogen während der niedrigere Takt relativ konstant bleibt.
Die Rechenleistung steigt relativ linear. Der Energieverbrauch steigt deutlich stärker an, sobald der Basistakt überschritten wird. Unterhalb der 1 GHz sinkt die Effizienz tatsächlich wieder. Der Sweetspot zwischen Rechenleistung und Energiebedarf liegt tatsächlich in der Mitte bei etwa 2,5 GHz.

Das Powertarget zu erhöhen sehe sehe ich als nicht zielführend. Sowohl der 5900X als auch der 6800HS rennen bei mir viel zu schnell ins Thermal Limit. Bei 5900X müsste man schon am Heatspreader Optimieren, um da noch etwas zu verbessern. Der Kühler reagiert da einfach zu viel träge, so dass ich den Lüfter erst nach 30 Sekunden über 70°C hochfahre.

Negative Effekte sind mir bisher nicht aufgefallen. Aber ich bin mal gespannt, ob sich mit dem 6.3 Kernel etwas ändert.
 
Kernel 6.3 ist ja seit gestern offiziell released. Ich hoffe mal auf einen Artikel auf CB, eventuell auch Messungen bzlg pstate.
Ich habe nun bei mir amd_pstate=active gestetzt und verwende `amd_pstate_epp powersave mode. Am Laptop ein Traum.
 
  • Gefällt mir
Reaktionen: Kaito Kariheddo und polyphase
Das Problem beim Ryzen Mobile Test auf phoronix (und die Kommentare dort sagen das auch aus):

Im Mobilbereich interessiert mich der Verbrauch und damit die Laufzeit im Akkubetrieb bei Alltagsanwendungen (Office, Internet, Streaming / Video, Leerlauf). Der Verbrauch wenn ich den kernel Kompiliere oder sonst irgendein Rendering mache, ist völlig Banane. Da muss man sowieso an die Steckdose.
 
Bin seit gestern mit dem Kernel 6.3 unterwegs und habe amd_pstate=passive mit dem governor schedutil aktiviert. Mein Ryzen taktet jetzt zwischen 550Mhz und 4651Mhz. Insgesamt scheint mir alles flüssiger zu laufen. Ausserdem ist mit aufgefallen das meine CPU kühler bleibt. Vorher hatte ich immer so 33/34° nund sind es meistens so 30°.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: emerald
amd_pstate=passive ist die "alte" Version des amd_pstate Treibers, den gibt es schon seit Kernel 5.17 (glaub ich).

Die neue Variante amd_pstate_epp muss mit Kernelparameter amd_pstate=active aktiviert werden.
 
Das probiere ich gerade aus.
driver: amd_pstate_epp governor: powersave balance_performance
Da sind die Kerne oft nur mit 550 Mhz unterwegs.
Das System ist noch kühler.
Es läuft aber alles flüssig.
Was ich noch nicht verstehe (und wozu ich auch noch nichts gefunden habe): wie ändert man bei amd_pstate eigentlich den governor?
Ergänzung ()

Über cpupower-gui kann ich den Governor ändern.
Aber am besten gefällt mir doch der Standard powersave balance_performance.
 
Zuletzt bearbeitet:
Arch Linux hat nun auch den 6.3er Kernel.
Vielleicht bilde ich mir das nur ein, aber die Latenz (vor allem in csgo) hat sich mit 6.3 & pstate-epp merklich verbessert! (linux-zen 6.2 -> linux-zen 6.3 mit pstate)

amd_pstate_epp aktivieren
amd_pstate=active zu den Kernel Parametern hinzufügen & "CPPC" im UEFI aktivieren

Verifizieren (hier: 3700X)
Bash:
doas cpupower frequency-info
>
analyzing CPU 10:
  driver: amd_pstate_epp
  CPUs which run at the same hardware frequency: 10
  CPUs which need to have their frequency coordinated by software: 10
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 550 MHz - 4.43 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 550 MHz and 4.43 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.97 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    Boost States: 0
    Total States: 3
    Pstate-P0:  3600MHz
    Pstate-P1:  2800MHz
    Pstate-P2:  2200MHz
-> Die CPU unterstützt also nicht alle Features.
-> Benutzt man den Gamemode, so ändert sich der Scaling governor von "powersave" zu "performance".

Energy performance preference
Bash:
cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference
> performance (mein Default)

Bash:
cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences
> default performance balance_performance balance_power power

Weitere Infos
https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html
https://wiki.archlinux.org/title/CPU_frequency_scaling
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: 2Stoned, ufopizza und guzzisti
Zurück
Oben