openSUSE的幽灵缓解方法导致性能下降

  <强>   openSUSE默认使用IBRS作为其幽灵变种2缓解方法而不是Retpolines,这是该发行版与其他      Linux      发行版相比开箱即用性能较慢的原因之一。                  

     这个opensuse-factory邮件列表      引用了联想笔记本电脑在使用openSUSE时“巨大的单核性能损失”。围绕幽灵变种2缓解措施的单线程性能损失约21%,这本身并不令人惊讶,因为我们已经多次说明了幽灵/崩溃缓解的性能成本。   

  

   openSUSE的幽灵缓解方法导致性能下降”>
  </p>
  <p>
  openSUSE的内核正在使用IBRS(间接分支限制投机)和最新的英特尔CPU微代码映像,而大多数Linux发行版依赖于Retpolines作为返回蹦床。与Retpolines相比,IBRS缓解技术可能会导致更多的性能损失,据报道,与更新的英特尔CPU微代码相匹配时,由于更严格的推测行为,会产生更大的性能损失。
  </p>
  <p>
  根据邮件列表讨论,切换到Retpolines以查找有问题的工作负载
  
  可以恢复性能
  
  。
  </p>
  <p>
  希望使用非默认方法的openSUSE用户可以使用
  <em>
  spectre_v2=retpoline
  </em>
  来选择它,这是一个通用内核
  
  命令
  
  行参数,与大多数其他Linux发行版内核的行为相匹配。
  </p>
  <p>
  至于openSUSE更改他们的默认值,至少从之前的邮件列表讨论来看,他们的内核工程师似乎没有兴趣更改幽灵的缓解默认值,但只是将英特尔的糟糕表现归咎于他们的问题。
  </p>
  <p>
  有些人还建议openSUSE安装程序在其安装程序中选择一个切换,以便通知用户安全性与性能偏好,从而更好地提供合理/明智的默认设置,但到目前为止,我们还没有看到采取任何措施来实现这一点,虽然考虑到一些openSUSE的保守默认值与大多数其他Linux发行版相比确实存在性能影响。
  </p>
  <p>
  以前Retpolines使用的障碍需要Retpolines编译器支持,但这种支持现在已经有一段时间了。据报道,Skylake过去曾报道过Retpolines问题,但这些问题似乎也得到了解决。
  </p>
  <p>
  <br/>
  </p><h2 class=openSUSE的幽灵缓解方法导致性能下降