OPTPOLINES - Formerly Relpolines, Lower Overhead To Retpolines For Spectre Mitigation
Relpolines were announced a few months ago by a VMware developer as having lower overhead than Retpolines -- the return trampolines introduced as part of the Spectre mitigations back in January. The dynamic indirect call promotion work by VMware has been working on pairing relative calls and trampolines to reduce the overall Retpoline overhead. VMware found with their original patches it could deliver a 10% performance improvement to the Nginx web server, +4% for Redis, and other minor performance improvements -- well, recovering previously lost performance.
See this earlier article for information on those original patches.
Nadav Amit of VMware on Sunday night sent out a revised version of these patches where he is now referring to the Relpolines as Optpolines. The code was simplified and other improvements made, but there still are some open design decisions for the code that he's awaiting more feedback on from other kernel developers.
As such, this code is still too experimental for being ready in time for Linux 4.21 merge window, but perhaps the next cycle. Those wanting to check out these Optpoline patches can find them on the kernel mailing list.