AMD Schedutil vs. Performance Governor Benchmarks On Linux 5.11 Shows More Upside Potential
With a pending patch, the Linux 5.11 AMD Zen 2 / Zen 3 performance is looking very good as far as the out-of-the-box performance is concerned when using Schedutil as is becoming the increasingly default CPU frequency scaling governor on more distributions / default kernels. With the previously noted Linux 5.11 regression addressed from when the AMD CPU frequency invariance support was first introduced, the Schedutil performance from small Ryzen systems up through big EPYC hardware is looking quite good. But how much upside is left in relation to the optimal CPU frequency scaling performance with the "performance" governor? Here is a look at those benchmarks on Ryzen and EPYC for Schedutil vs. Performance on a patched Linux 5.11 kernel.
As a follow-up to the testing over the past week looking at the patched Linux 5.11 kernel leading to better Schedutil behavior with AMD Zen 2 / Zen 3 hardware, this article is providing some reference figures at how well the patched Schedutil governor compares to switching over to the "performance" governor on the same kernel. Most Linux distributions still aren't defaulting to the performance governor but either using the "ondemand" or with newer kernels is often using "schedutil" for AMD hardware with the CPUFreq driver.
When testing on an AMD Ryzen 9 5950X, there still is some clear room for further tuning the Schedutil governor for better performance:
While ignoring a few key exceptions for some quicker running tests where the benefits of the performance governor are more pronounced compared to Schedutil taking some (short) time to ramp up clock frequencies, for most workloads the performance governor yields up to just a few percent faster performance. This isn't all that bad considering this patched Linux 5.11 kernel for testing is much better off than the sizable regressions noted earlier in the 5.11 cycle and the patch often leading to performance beyond where Linux 5.10 stable was performing.
218 different test cases were run on this Ryzen 9 5950X system in comparing the two CPUFreq governors. The above side-by-side graphic is just showing the workloads with a measurable and statistically significant difference.
If taking the geometric mean of all 218 results, the performance governor was just over 1% faster than the Schedutil governor default on Linux 5.11.
But let's now look at the Schedutil vs. Performance difference on AMD EPYC while also monitoring the CPU power consumption as exposed by the AMD_Energy driver.