AMD P-State Linux Driver Patches Can Increase 1%-Low FPS Gaming Performance By 31%

This web page was created programmatically, to learn the article in its authentic location you may go to the hyperlink bellow:
https://www.phoronix.com/news/AMD-P-State-Better-1p-Lows
and if you wish to take away this text from our web site please contact us


AMD

A set of patches posted right this moment to the Linux kernel mailing listing implement per-core Energy Performance Preference (EPP) boosting for recently-busy CPUs. This function is designed to have a dramatic impression for Linux gaming and serving to particularly with the 1% low frame-rates enhancing by 31.8% on the Valve Steam Deck.

David Vernet who’s a Linux kernel hacker at Meta by day has taken to enhancing the AMD P-State driver with the proposed “epp_boost” function for serving to with the Linux gaming efficiency. Vernet sums up the state of affairs effectively with the present AMD P-State CPU frequency scaling driver habits and the motivation for this dynamic EPP increase mode:

“In active (EPP) mode the platform autonomously picks the operating point between min_perf and max_perf, biased by the EPP hint, and the kernel only rewrites the CPPC request on policy or limit changes. A workload dominated by one mostly-busy thread that takes frequent short sleeps (common in gaming workloads, for example) can fare poorly under this strategy. Each sleep decays the hardware’s performance signal, causing post-wakeup bursts to start at a low operating point and inflating tail latency even though the CPU is essentially fully busy while work is available.

As mentioned above, the motivating case here is gaming. A game’s main or render thread typically blocks briefly on a futex or a GPU fence every frame, and the resulting frequency droop shows up directly as stale frames and inflated frame-time percentiles.

Solving this at the cpufreq layer requires walking a fairly narrow path. Globally forcing EPP=performance fixes the tail but burns power on every core for every workload, which matters on handhelds where the CPU and GPU share a power budget. Raising min_perf on the busy core seems like the obvious surgical fix, but it pins the core at or above nominal even during micro-idle and vsync waits. On Van Gogh (Steam Deck) experiments that I ran, that perturbs the SMU’s shared CPU/GPU boost management enough to regress the frame-time tail relative to doing nothing.

This series instead adds an opt-in, per-core EPP boost. When the epp_boost module parameter is enabled, an update-util hook samples each core’s C0 residency (delta MPERF over delta TSC) at most once every 10 ms. If a sample shows the core at least 50% busy, the EPP field of its MSR_AMD_CPPC_REQ is set to performance (0) and held there until 300 ms pass without another busy sample, at which point the hook restores the request that policy management last stored in cppc_req_cached.”

The finish result’s fairly thrilling with utilizing the Civilization VI sport benchmark, the 1%-low FPS is improved by 31.8% whereas the p99 body time is healthier by 4.1%. This is on the Steam Deck whereas different trendy AMD Ryzen handhelds and methods at massive would profit too.

Steam Deck

This patch series offers that enchancment to the AMD P-State driver. Besides needing these patches, amd_pstate.epp_boost=1 additionally must be set for activating that mode. With patched kernels, the standing of the function might be checked (or set at run-time) by way of /sys/module/amd_pstate/parameters/epp_boost. It will likely be attention-grabbing to see the impression for a wider number of video games whereas Civilization VI was used because the check candidate for this AMD epp_boost function because of its ease and reproducibility.

This promising work nonetheless must endure patch overview particularly by the AMD Linux kernel engineers, however hopefully it’s going to handle to be mainlined within the not too distant future for additional enhancing the AMD Linux gaming expertise.


This web page was created programmatically, to learn the article in its authentic location you may go to the hyperlink bellow:
https://www.phoronix.com/news/AMD-P-State-Better-1p-Lows
and if you wish to take away this text from our web site please contact us