AMD Schedutil vs. Performance Governor Benchmarks on Linux 5.11 shows more upside

With a pending patch, the Linux 5.11 AMD Zen 2 / Zen 3 performance looks very good in terms of out-of-the-box performance when using Schedutil as this is the increasingly standard CPU frequency scaling slider is used on more distributions / standard kernels. With the aforementioned Linux 5.11 regression addressed from when support for AMD CPU frequency invariance was first introduced, Schedutil performance from small Ryzen systems to large EPYC hardware looks pretty good. But how much benefit is left in terms of optimal performance from scaling the CPU with the “performance” slider? Here’s 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 last week’s testing, which looked at the patched Linux 5.11 kernel leading to better Schedutil behavior with AMD Zen 2 / Zen 3 hardware, this article provides some reference numbers on how well the patched Schedutil Governor relates to switching over to the “performance” governor on the same kernel. Most Linux distributions still don’t default to the performance user, but often use either the “ondemand” or with newer kernels “schedutil” for AMD hardware with the CPUFreq driver.

When tested on an AMD Ryzen 9 5950X, there is still some leeway to further fine-tune the Schedutil governor for better performance:

While a few key exceptions are ignored for some faster running tests where the benefits of the performance governor are more pronounced compared to the fact that Schedutil takes some (short) time to ramp up the clock frequencies, the performance governor delivers for most workloads up to only a few percent faster on performance. This isn’t too bad, as this patched Linux 5.11 kernel for testing is much better off the significant regressions noted earlier in the 5.11 cycle and the patch often resulted in performance beyond where Linux 5.10 performed stable.

218 different test cases were conducted on this Ryzen 9 5950X system comparing the two CPUFreq controllers. The side by side image above just shows the workload with a measurable and statistically significant difference.

Taking the geometric mean of all 218 results, the performance governor was slightly more than 1% faster than the Schedutil governor default setting on Linux 5.11.

But now let’s take a look at the difference between Schedutil and performance on AMD EPYC while also checking the CPU power consumption as shown by the AMD_Energy driver.

.Source