早些时候曝光的幽灵(Spectre)和熔毁(Meltdown)安全漏洞,给处理器的“推测执行”功能蒙上了一层阴影。 为了防止被恶意攻击者用来窃取敏感数据,处理器厂商不得不推出了“可能对性能造成高达 30% 影响”的微代码补丁。 好消息是,各大科技企业一直在努力降低这一问题的影响。比如微软就计划在 Windows 10 的下一个重大版本(19H1)中部署 Retpoline 。

Windows 10 19H1启用Retpoline幽灵补丁性能

除了更新 CPU 微代码,Retpoline 也是一种能够缓解“2 号变种”(CVE-2017-5715)影响的软件方案。 如有需要,它可以深入操作系统的内核、库、以及特定的软件程序中。

在 Windows 19H1 系统中,Alex Ionescu 发现‘Retpoline Kernel’功能已启用。 Surface Pro 4 的文件系统基准测试表明,其传输速度有了很大的改善,尤其是小块的文件。

简而言之,如果说早前的补丁让 处理器 性能“一夜缩回 5~10 年前”,那新方案将只会造成 1~2% 的影响。

Windows 10 19H1启用Retpoline幽灵补丁性能

Windows 内核团队专家 Mehmet Iyigun 解释到:

19H1 的飞行测试,已经默认启用 Retpoline 。它能够极大地改善因为内核模式的非直接调用,对预取性能带来的影响。

结合‘导入优化’,这套组合拳能够将大多数场景下的‘噪音水平’(幽灵 v2 漏洞缓解措施对预取造成的影响)控制在极低的水平。

遗憾的是, 微软 似乎没有“向后移植”该修复程序的想法。

这意味着 Windows 10 用户必须更新到该操作系统的最新版本,才能享受到性能恢复带来的益处。

对于那些偏好‘经过充分测试的稳定版操作系统’的用户来说,这显然存在着一定的争议。

微软Windows/Azure内核团队人员表示,

是的,我们在19H1版本中默认启用了retpoline以及我们所谓的“导入优化”,以进一步减少由于内核模式中的间接调用而导致的性能影响。结合起来,这些将减少Spectre v2在大多数情况的影响。

从体验上讲,这意味着Spectre将不再使我们的处理器性能下降回到5到10年前水平,最终会导致修复Spectre漏洞仅产生1-2%的性能影响。