AMD Posts P-State Linux Patches For New "Guided Autonomous Mode"

Written by Michael Larabel in AMD on 7 December 2022 at 11:37 AM EST. 10 Comments
AMD
With the AMD P-State CPU frequency scaling driver that has come together over the past year and improved upon there has been the Energy Performance Preference "EPP" mode being worked on recently to further improve the performance/power characteristics of Ryzen and EPYC processors on Linux. A new patch series today implements a third mode for the AMD P-State driver.

AMD engineers this morning sent out the patches for implementing a "guided autonomous mode" within their P-State driver for use on Ryzen/EPYC platforms of Zen 2 and newer. Zen 2 and newer is a hard requirement for AMD P-State due to being dependent upon the ACPI Collaborative Processor Performance Control (CPPC) functionality.

Of the new AMD P-State Guided Autonomous Mode, it's summed up in the new patch series as:
From ACPI spec below 3 modes for CPPC can be defined:

1. Non autonomous: OS scaling governor specifies operating frequency/performance level through `Desired Performance` register and PMFW follows that.

2. Guided autonomous: OS scaling governor specifies min and max frequencies/ performance levels through `Minimum Performance` and `Maximum Performance` register, and PMFW can autonomously select an operating frequency in this range.

3. Fully autonomous: OS only hints (via EPP) to PMFW for the required energy performance preference for the workload and PMFW autonomously scales the frequency.

Currently (1) is supported by amd_pstate as passive mode, and (3) is implemented by EPP support[2]. This change is to support (2).

In guided autonomous mode the min_perf is based on the input from the scaling governor. For example, in case of schedutil this value depends on the current utilization. And max_perf is set to max capacity.

To activate guided auto mode ``amd_pstate=guided`` command line parameter has to be passed in the kernel.

Benchmarks conducted by AMD show the AMD P-State Guided Autonomous Mode to perform particularly well with their new EPYC "Genoa" server platforms. The EPYC performance is much better with the guided mode than in the default passive mode currently in the kernel. The P-State EPP support continues to work its way to the mainline kernel. The AMD P-State Guided Autonomous Mode also helps EPYC perform better than using the older, generic ACPI CPUFreq driver for better raw performance though can lead to slightly higher power use in some scenarios.


See this patch series for the 200+ lines of new code working out the AMD P-State Guided Autonomous Mode support. Though given the timing of these patches being posted, it's unlikely we'll see them reviewed and readied in time for the imminent Linux v6.2 kernel merge window and thus will likely have to wait until 6.3+ next year before seeing this mainlined. But with AMD's results showing this mode performing better than ACPI CPUFreq is a good sign and that work on the amd_pstate driver seems to be getting squared away.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week