AMD CPU performance & efficiency is the newest focus of the latest version of the P-State EPP driver for Linux
The EPP driver from AMD works by taking the P-State CPU frequency driver, expanding its implementation through the ACPI CPP EPP data, and directing the hardware on deciding between energy efficiency and performance. The firmware, producing low power levels, will estimate the runtime frequency, causing the EPP to instruct the system’s processor core frequency and alertness. AMD provided test results of this implementation using the AMD EPYC Zen 2 “Rome” server processor inside a Linux-based system. The benchmarks demonstrated that the new driver improved performance much better than the amd-pstate and acpi-cpufreq commands throughout several governors, significantly impacting power save and hardware performance. The new EPP driver by AMD for the company’s P-State in Linux is now added to the current Linux upstream (Linux 6.0). AMD ensured users that the open-source developers for the company were aware of the feedback from the first version of the driver, optimizing any current issues and fixing code and spelling errors, switching the default mode for EPP to “false,” and shortened the module parameter from “epp_enabled” to “epp.” The AMD Linux team attempted to move energy_perf_strings and epp_values into the msr-index.h code, but in doing so, discovered that the compiler would reach an error, stating “no such instruction.” The developers also added testing for the patchset x86_energy_per_policy utility and noted that the delivery would be seen in another update. Researchers used the Performance Per Watt calculation to assist with the Running Average Power Limit (RAPL) interface, which controls information on energy and power consumption, and the “perf” command to calculate the performance and efficiency of the CPU. Other minor improvements were made to the code, and users can find the new patch information in the Linux kernel mailing list. Since the delivery of the patches is late in the implementation of the current kernel, it is speculated that we will not see the driver until Linux 6.2, arriving much later in 2023. News Sources: Phoronix, Linux Kernel mailing list