Benchmarking Retpoline Underflow Protection With Intel Skylake/Kabylake

Written by Michael Larabel in Intel on 17 January 2018 at 05:58 AM EST. 8 Comments
INTEL
Beyond the Retpoline support already found in the mainline Linux kernel, developers are working on Retpoline Underflow support that would be used for Intel Skylake and Kabylake CPUs. RETPOLINE_UNDERFLOW protects against falling back to a potentially poisoned indirect branch predictor when a return buffer underflows and this additional protection is needed for Intel Skylake/Kabylake processors. I ran a couple benchmarks.


From an Intel Core i9 7980XE (Skylake X) and Core i3 7100 (Kabylake) boxes, I ran some tests of Linux 4.15 built with GCC 8.0.1 when Retpoline was off, there was generic retpoline protection, and then Retpoline paired with the RETPOLINE_UNDERFLOW patches currently out-of-tree.
Debian Intel Skylake Kabylake Retpoline

Debian Intel Skylake Kabylake Retpoline

Debian Intel Skylake Kabylake Retpoline

Retpoline with underflow protection lowered the performance further in some of the benchmarks, particularly I/O as usual for the Retpoline impact.
Debian Intel Skylake Kabylake Retpoline

Debian Intel Skylake Kabylake Retpoline

CPU benchmarks continue to be minimally impacted by retpolines.
Debian Intel Skylake Kabylake Retpoline

Debian Intel Skylake Kabylake Retpoline

Debian Intel Skylake Kabylake Retpoline

Debian Intel Skylake Kabylake Retpoline

Redis is one of the real-world applications where you can see the performance impact of Retpolines present. RETPOLINE_UNDERFLOW protection will presumably be added with Linux 4.16: stay tuned as more patches and information become available.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week