In september publiceerde AMD de Linux-stuurprogrammapatches voor P-State EPP als hun laatste poging om de energie-efficiëntie van Ryzen-en EPYC-processors te verbeteren. Deze week verzonden is nu de vierde iteratie van die driverpatches voor CPU-frequentieschaling.
AMD P-State EPP is een evolutie van de AMD P-State-stuurprogrammacode waaraan ze het afgelopen jaar hebben gewerkt. P-State EPP (Energy Performance Preference) heeft tot doel de prestaties en stroomregeling voor moderne Zen-laptops, desktops en servers verder te verbeteren.
Het AMD P-State EPP-stuurprogramma breidt de initiële P-State CPU-frequentieschalingsstuurprogramma-implementatie uit door gebruik te maken van ACPI CPPC’s Energy Preference Performance (EPP)-informatie die een hint is voor de hardware of de software de voorkeur geeft aan een voorkeur voor prestaties of energie-efficiëntie. Benchmarkresultaten geleverd door AMD met hun eerste P-State EPP-patches met behulp van een AMD EPYC”Rome”(Zen 2)-server toonden aan dat deze nieuwe drivercode aanzienlijk betere prestaties per watt levert dan amd-pstate (passief) of acpi-cpufreq over verschillende gouverneurs.
Met de v4-patches zijn er extra codewijzigingen als gevolg van het codebeoordelingsproces, waardoor het gemakkelijker is om het amd-pstate-stuurprogramma via een kernelparameter in te stellen en andere reparaties.
De AMD P-State EPP v4-patches zijn nu beschikbaar voor beoordeling via deze kernel-mailinglijstthread.
Met de laatste patch-revisies kan de AMD P-State EPP-functionaliteit op gepatchte kernels worden ingeschakeld door de optie”amd-pstate=active”in te stellen als een kernelargument. De voorkeur voor energieprestaties kan vervolgens tijdens runtime worden geregeld via de interface/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference. Net als bij passieve AMD P-State vereist deze functionaliteit Zen 2 CPU’s en nieuwer vanwege de afhankelijkheid van ACPI CPPC.
Het zal heel interessant zijn om deze P-State EPP-driver aan een aantal rigoureuze tests te onderwerpen als hij de hoofdkernel nadert. Het zal ook interessant zijn om te zien hoe goed AMD P-State EPP werkt voor de zojuist aangekondigde AMD EPYC 4e generatie”Genua”-processors–zie mijn EPYC 9654/9554 Linux-recensie van gisteren voor het geval je het gemist hebt.
Niet direct gerelateerd aan dit AMD P-State EPP-werk, maar deze week plaatste AMD ook Linux-kernelpatches om een nieuwe infrastructuur te bieden rond de hardware-slaapstandtijd. Deze infrastructuur zou werken voor zowel AMD-als Intel-CPU’s om de hoeveelheid tijd te kunnen rapporteren die is doorgebracht in slaapstand van slaapstand tot ruststand (s2idle). Gemakkelijk zichtbaar via sysfs zou de duur van de hardware-slaapstand en de totale slaapduur van het systeem sinds het opstarten zijn. User-space kan deze informatie vervolgens opvragen na s2idle voor het evalueren van de hoeveelheid tijd doorgebracht in een hardware-slaapstand. Meer details over dat aparte kernelwerk via deze patchreeks.