AMD 4th Gen EPYC "Genoa" To Enjoy Slightly Better Performance With Linux 6.3
Expected to be squared away in time for the Linux 6.3 kernel cycle, which is kicking off in February, is Automatic IBRS as a new feature of Zen 4 processors. The patches already have been queued up into TIP's x86/cpu branch so barring any issues will be all wired up for this next kernel version. Automatic IBRS can provide better performance than the Retpolines implementation used currently on Zen 4 and prior CPUs as part of the Spectre V2 mitigations. With the switch over to Automatic IBRS for Zen 4, it means better performance in some areas as shown by these benchmarks today with AMD 4th Gen EPYC "Genoa" processors.
Last week I ran some initial AMD Automatic IBRS benchmarks on an AMD Ryzen 9 7950X while today's article has even more benchmarks and looking at the performance across a wider range of Linux server workloads. As outlined in prior Phoronix articles, the Automatic IBRS feature is new to Zen 4 processors -- across the entire line-up of both client and server CPUs. AMD Automatic IBRS is similar to Intel's Enhanced IBRS (Indirect branch Restricted Speculation) that has already existed for several generations.
AMD has been posting the Linux patches needed for enabling Automatic IBRS and avoiding the generic Retpolines by default going back to November while things are finally getting buttoned up for seeing Automatic IBRS enabled by default in Linux 6.3 for Zen 4 and newer. This is rather than using the Retpolines with Zen 4 as is used currently for fending off Spectre Variant Two. It's unfortunate that this Automatic IBRS support wasn't already mainlined to the Linux kernel ahead of launch especially with the patches not being too invasive and largely following the flow established by Intel eIBRS, but at least it's on the way now.
For measuring the benefit of Automatic IBRS on AMD 4th Gen EPYC "Genoa", I used the dual AMD EPYC 9654 flagship server processor configuration on the AMD Titanite reference server. I benchmarked the performance of the current Linux 6.2 Git state against a rebuild of the tip/tip.git x86/cpu branch with the Automatic IBRS patches present and keeping the same kernel configuration. This was the only change made during the testing for looking at the impact of this forthcoming kernel code to provide Automatic IBRS out-of-the-box on AMD EPYC 9004 (and Ryzen 7000) series platforms. All other security mitigations were at their respective defaults.