A Quick Run With The FSGSBASE Patches On Intel + AMD
FSGSBASE patches for the Linux kernel have been available for years albeit not mainlined to date. However, thankfully, a Microsoft Linux developer has taken up the cause to get them upstreamed given the performance benefits they are even seeing. Here are some benchmarks of the Linux kernel patches for FSGSBASE on both Intel and AMD CPUs.
The last time I benchmarked the FSGSBASE patches were last summer on Intel hardware and looking at the FSGSBASE patches at the time as well as the Linux kernel state at that point. For this round of testing is using the FSGSBASE v11 patches against the Linux 5.7 Git kernel as of last week while testing on both an Intel Core i9 and AMD Ryzen Threadripper systems for seeing the benefit of this instruction set extension when wired up into the Linux kernel.
The proposed FSGSBASE patches also provide a "nofsgsbase" kernel option for disabling the functionality, making it easy to compare the impact of the FSGSBASE patched kernel. Two distinct systems were used with the Core i9 10980XE and Threadripper 3970X systems for seeing the FSGSBASE impact -- note there are other hardware differences at play in not trying to compare the AMD vs. Intel performance but rather just offering coverage of two distinct systems with these patches. If FSGSBASE gets merged for the mainline kernel in Linux 5.8 or later, I'll be back around with benchmarks on more hardware. FSGSBASE is available on Intel CPUs going back to Ivy Bridge.
Via the Phoronix Test Suite various benchmarks were carried out.