New Google Patch Reduces Spectre Performance Impact to ‘Noise’
When news of Spectre and Meltdown broke in January, end users were significantly concerned by the idea that patching these issues could come with a side dish of substantial performance penalties. In the long run, the concern proved to be a non-issue for most client-side workloads, though server customers were impacted to varying degrees depending on the age of their hardware (older chips were more severely impacted by Intel and Microsoft’s performance mitigations than newer chips were).
Some of you may remember that there were two patches to solve the Spectre Variant 2 problem. The ones distributed by Intel and Microsoft required a Windows update to add a microcode patch, while a Google-developed solution called “retpoline” was deployed on Linux systems. Now, that patch is apparently coming to Windows as well, and it’s expected to reduce the performance impact of Spectre Variant 2 to a level Windows kernel architect Mehmet Iyigun describes as “noise.” That’s likely welcome news for at least some server customers who have seen performance fall since the Variant 2 patches rolled out. Here’s how Google describes its retpoline patch.
“Retpoline” sequences are a software construct which allow indirect branches to be isolated from speculative execution. This may be applied to protect sensitive binaries (such as operating system or hypervisor implementations) from branch target injection attacks against their indirect branches.
The name “retpoline” is a portmanteau of “return” and “trampoline.” It is a trampoline construct constructed using return operations which also figuratively ensures that any associated speculative execution will “bounce” endlessly.
(If it brings you any amusement: imagine speculative execution as an overly energetic 7-year old that we must now build a warehouse of trampolines around.)
Retpoline will only impact Spectre Variant 2, but since that’s where the bulk of the performance concerns have come from (apart from some issues associated with Meltdown), the overall impact of this shift should be positive. As an additional bonus, it won’t require microcode updates or a joint development and rollout schedule between Intel and Microsoft.
Users shouldn’t look for the patch to arrive any time in the near future. Tom’s Hardware notes that it won’t arrive until the next major update for Windows (assuming the integration timeline isn’t pushed out), which will happen in the first half of 2019. Microsoft has no plans to backport the patch to older versions of Windows, so you’ll need to be on whatever the next version number is to see performance improvements. Again, this should be invisible to most client users, but in the event that you do have a workload that’s impacted by Spectre Variant 2, you should get that performance back within 6-7 months. Not perfect, obviously, but better than giving it up for good.
Continue reading
MSI’s Nvidia RTX 3070 Gaming X Trio Review: 2080 Ti Performance, Pascal Pricing
Nvidia's new RTX 3070 is a fabulous GPU at a good price, and the MSI RTX 3070 Gaming X Trio shows it off well.
RISC-V Tiptoes Towards Mainstream With SiFive Dev Board, High-Performance CPU
RISC V continues to make inroads across the market, this time with a cheaper and more fully-featured test motherboard.
Ryzen 9 5950X and 5900X Review: AMD Unleashes Zen 3 Against Intel’s Last Performance Bastions
AMD continues its onslaught on what was once Intel's undisputed turf.
Intel Is Spreading FUD About Supposedly Huge Ryzen 4000 Performance Drops on Battery
Intel believes it has presented evidence that negates the value of AMD's Ryzen 4000 product stack. Intel is mistaken.