Benchmarking Linux With The Retpoline Patches For Spectre
Like with our KPTI benchmarking, Redis performance was also sharply affected by the presence of Retpoline and generally degraded further when built with the patched compiler.
Across all six tested systems Redis was slower to varying degrees.
With the exception of the AMD EPYC 7601 server paired with the high-performance Intel 900p NVMe SSD and to a lesser extent the Ryzen 7 1800X, the other systems saw noticeable drops in Apache web server performance particularly when running with the Retpoline-enabled kernel built using the new GCC patches.
The PostgreSQL performance saw some minor changes in performance with this patched kernel but not nearly as noticeable as the performance impact caused by the KPTI patches.
That's where things stand after spending the weekend running these Linux Retpoline kernel benchmarks on six distinct systems. Like with the Kernel Page Table Isolation patches, most of the Retpoline performance impact comes down to I/O workloads and those with high kernel interactivity. Keep in mind these tests were all done with KPTI present and enabled (on Intel CPUs), just comparing Retpoline today. For those curious about the compounded impact of KPTI + Retpoline with/without, those tests are coming up soon on Phoronix. Also on my TODO list is looking at the performance impact of when rebuilding the user-space applications/benchmarks using the new compiler options as a result of the Spectre patches.
The Retpoline kernel patches will likely soon be mainlined along with the GCC (and LLVM) compiler patches for protecting against Spectre. If you appreciate all of these benchmarks I've been running over the past week, consider showing your support by joining Phoronix Premium or a PayPal tip.
If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.