相应的补救措施正在进行中,据称修复后对硬件性能会带来最高30-35%的负面影响。
【更新去年11月的一则补丁信息:通常会有个位数的性能影响,平均5%;但最差的情况下性能会降低30%,比如有大量syscall(系统调用) 和context switch(上下文切换) 的环回网络测试 Phoronix的测试表明个别极端情况下会超过50%。
更新Phoronix对Linux补丁的性能测试,I/O,SQL等测试性能下降明显,部分项目超过50%。
x264等基本只活动于用户空间的程序则基本不变
Linux游戏性能没有变化
Page Table Isolation (PTI)正被被迅速引入Linux4.15内核标准,还被移植回了4.14。大量内核改动被放进KAISER 系列补丁,首次发布是在10月。
本文地址:http://www.moepc.net/?post=4033
概念很简单,当进程在用户空间中运行时,通过尽量不在进程页表中映射Linux内核,阻止试图从非特权用户空间的代码对内核虚拟地址范围进行的识别。
抽象来讲,当用户代码在CPU中运行时,会移除内存管理硬件中内核地址空间的所有信息。
该代码已经涉及到了内核的基础 - 核心部分,而且补丁的优先级非常高,十万火急。
通常Linux内存管理的补丁,在整合前很久就会发布首个reference,然后经历无数轮测试、退回、测试、退回的轮回。
而KAISER(现在称KPTI)在3个月内就完成了整合。
【那行X86_CPU_BUG_INSECURE的flag已经足够明显...附带“CPU不安全,需要PTI”的注释】
微软从去年11月也开始进行类似功能 - ASLR/VA Isolation的开发,Windows 10 Fast Ring的用户应该很快会收到补丁。
PTI是给Intel CPU准备的,为的就是解决Intel CPU硬件bug导致的安全问题。PTI影响到虚拟内存等核心功能,因此在某些情况下会带来极大的性能损失:i7-6700【Skylake-S】降低29%性能;i7-3770S【IvyBridge-S】会损失34%性能。受影响的推测是P6架构【有speculative reference】,从PII到目前Coffee Lake所有成员,最少也是Nehalem往后的架构,并不是只有上面举例的这俩。
AMD Linux内核/软件工程师 Thomas Lendacky称AMD CPU由于架构上并不允许memory references,并不受这类bug的影响,也无需开启PTI。
【更新:AMD工程师提交的patch尚未被Linux整合,所以现在Linux补丁后默认AMD处理器也是打开PTI的,可能也会导致性能损失。
解决方法:1.等待patch被整合 2.用nopti关闭PTI】
本文地址:http://www.moepc.net/?post=4033
via:https://www.reddit.com/r/sysadmin/comments/7nl8r0/intel_bug_incoming/?st=jbxs4ws8&sh=9ece41ac
更新:Phoronix
https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pt
MOEPC.NET编译,转载请保留出处。