Testing Intel FSGSBASE Patches For Helping Elevate Linux Performance
After covering the Linux patches for FSGSBASE for years, it's looking like Linux 5.9 will finally land the support for this CPU capability present since Ivy Bridge on the Intel side and more recently on AMD CPUs with Bulldozer and Zen. Here are benchmarks looking at some of the performance benefits the Linux FSGSBASE patches can provide for an Intel Xeon Cascade Lake Refresh server.
While Intel developers started the bring-up of the FSGSBASE usage by the Linux kernel years ago, it was a Microsoft Linux kernel developer who got it over the finish line with even Microsoft finding performance benefits to these patches and thus seeing benefit in them being mainlined.
The patches are currently queued up in an x86/fsgsbase branch ahead of the Linux 5.9 merge window opening in August. More background information on these Linux FSGSBASE patches can be found from this earlier article.
We have tested FSGSBASE patches previously while this round of testing is off the latest x86/fsgsbase currently tracking Linux 5.8 for offering the latest look at how these patches can help the performance. The kernel was freshly built and then tested on a Cascade Lake Refresh server and then a second time when booting the kernel with "nofsgsbase" for disabling the functionality. When disabling the functionality, "fsgsbase" disappears from /proc/cpuinfo for confirming it's disabled and there is also a kernel test for verifying FSGSBASE functionality.
A dual Intel Xeon 5220R setup within a Tyan 1U server platform was used for this round of benchmarking. Assuming the FSGSBASE patches successfully land in Linux 5.9, I'll be back around with more performance tests later this summer.