Linux 6.2's Call Depth Tracking Helps Recover Lost Performance On Intel Skylake CPUs
If you are still relying on a Skylake/Skylake-derived processor that is now defaulting to IBRS for fighting off Retbleed, the Call Depth Tracking mitigation available on Linux 6.2+ by the retbleed=stuff option clearly is able to help recover some of the lost performance. Granted there still is significant overhead from the other CPU security mitigations needed for the older Intel CPUs, but at least it's a noted improvement over the status quo. Particularly for Skylake era Intel Linux servers where sane security defaults are particularly necessary, Call Depth Tracking can help breath some additional life into the platforms until upgrading the hardware.
When taking the geometric mean across affected workloads, switching from the out-of-the-box Linux 6.2 kernel to booting with retbleed=stuff boosted the performance by 15%. But the Call Depth Tracking (retbleed=stuff) was running at 89% the speed of simply having no Retbleed mitigations (retbleed=off) or 71% the performance of the Xeon E3-1280 v5 server where all CPU security mitigations were disabled (mitigations=off).
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.