AMD Schedutil vs. performance governor benchmarks on Linux 5.11 shows more growth potential

With a pending patch, the performance of Linux 5.11 AMD Zen 2 / Zen 3 looks very good with regard to immediate performance when using Schedutil, as it is becoming the increasingly standard CPU frequency regulator in more distributions / standard kernels. With the Linux 5.11 regression noted earlier, addressed since when AMD CPU frequency invariance support was first introduced, the performance of Schedutil from small Ryzen systems to large EPYC hardware looks pretty good. But how much advantage is there over optimal CPU frequency scaling performance with the “performance” governor? Here is a look at the benchmarks on Ryzen and EPYC for Schedutil vs. Performance on a Linux 5.11 kernel with patch.

As a continuation of last week’s tests looking at the corrected Linux 5.11 kernel leading to better Schedutil behavior with AMD Zen 2 / Zen 3 hardware, this article is providing some reference numbers on how well the corrected Schedutil regulator compares to switch to the governor for “performance” in the same kernel. Most Linux distributions are not yet standardizing for the performance governor, but using “ondemand” or with newer kernels, they are often using “schedutil” for AMD hardware with the CPUFreq driver.

When testing on an AMD Ryzen 9 5950X, there is still room for further adjustments by the Governor Schedutil for better performance:

While ignoring some important exceptions for some faster execution tests, where the benefits of the performance governor are more pronounced compared to Schedutil taking some (short) time to increase clock frequencies, for most workloads the governor performance yields up to just a few percent faster performance. This is not too bad, considering that this Linux 5.11 kernel with test patch is much better than the considerable regressions noted earlier in the 5.11 cycle and the patch generally leading to performance beyond what stable Linux 5.10 was running .

218 different test cases were run on this Ryzen 9 5950X system in comparison of the two CPUFreq governors. The side-by-side graph above shows only workloads with a measurable and statistically significant difference.

If you take the geometric average of all 218 results, the performance governor was slightly more than 1% faster than the default governor for Schedutil on Linux 5.11.

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

.Source