Linux 上的 AMD CPU 微码加载已修复为每线程
admin
2023-07-31 18:26:50
0

到目前为止,在 Linux 下的 AMD 处理器上加载更新的 CPU 微码只是为了确保每个物理 CPU 内核都加载了新的微码,而不是 SMT 处理器的同级线程。虽然从逻辑上讲这是有道理的,但事实证明,一些 AMD 微码更新确实执行了每个线程的修改,这意味着需要在每个线程上执行微码更新。Linux 修复程序正在前往内核以调整该行为。

今天作为 TIP 的 x86/微码分支的一部分排队的是一个补丁,因此现在在每个逻辑线程上尝试加载 AMD CPU 微码,而不是在物理 CPU 核心级别检查微码更新是否执行,然后忽略任何同级线程每个核心。

image.php_-49image.php_-49

在内核开发人员调试问题时,AMD 微码更新可能会执行每个线程的修改。自 7 月初以来,有关轻量级分析“LWP”指令的错误报告仅在 Linux 下的 AMD Bulldozer/Piledriver 系统的一半 CPU 内核/线程上公开。虽然很少使用 LWP 指令,但在使用“-march=native”编译代码然后运行代码并根据执行是否发生在暴露 CPU 功能的线程之一上发现不同的行为时,它可能会产生问题。

这种情况最初困扰着内核开发人员以及线程上的 AMD Linux 开发人员,但随后错误报告作者发现这种 LWP 功能暴露差异是由 CPU 微码引起的。当 AMD 致力于他们的 Spectre V2 缓解并在微码中引入 IBPB(间接分支预测屏障)时,他们从 K8 和 K10 处理器系列中删除了 LWP,因为该功能很少使用。

事实证明,当 AMD 系统上的 BIOS 在启动时执行微码更新时,它是在每个线程的基础上完成的(并且可能也适用于 Windows)。但在 Linux 上,AMD CPU 微码更新仅针对每个核心的物理基础进行检查,并跳过了兄弟线程的更新。现在至少有了这个 LWP 错误报告,有证据表明正在执行每个线程的修改。也有可能其他 AMD CPU 微码更新也一直在执行每个线程的修改,但直到由于删除旧 AMD CPU 上宣传的 LWP 而产生的这种非常明显的差异才被注意到。

image.php_-50image.php_-50

无论如何,这个补丁现在正在进入内核,以便在所有 AMD CPU 线程上正确执行微码更新。

相关内容

热门资讯

Windows 11 和 10... Windows 11/10 文件夹属性中缺少共享选项卡 – 已修复 1.检查共享选项卡是否可用 右键...
Radmin VPN Wind... Radmin VPN 是一款免费且用户友好的软件,旨在牢固地连接计算机以创建一个有凝聚力的虚拟专用网...
如何修复 Steam 内容文件... Steam 内容文件锁定是当您的 Steam 文件无法自行更新时出现的错误。解决此问题的最有效方法之...
在 Windows 11 中打... 什么是链路状态电源管理? 您可以在系统控制面板的电源选项中看到链接状态电源管理。它是 PCI Exp...
iPhone 屏幕上有亮绿色斑... iPhone 是市场上最稳定的智能手机之一,这主要归功于专为它们设计的 iOS 操作系统。然而,他们...
事件 ID 7034:如何通过... 点击进入:ChatGPT工具插件导航大全 服务控制管理器 (SCM) 负责管理系统上运行的服务的活动...
Hive OS LOLMine... 目前不清退的交易所推荐: 1、全球第二大交易所OKX欧意 国区邀请链接: https://www.m...
balenaEtcher烧录后... balenaEtcher烧录后u盘或者内存卡无法识别不能使用的解决方法想要恢复原来的方法,使用win...
QQ浏览器怎么制作简历 QQ浏览器是腾讯公司开发的一款极速浏览器,支持电脑,安卓,苹果等多种终端;更快的浏览体验,更安全的浏...
统信UOS每次开机后不直接进入... 统信UOS每次开机后不直接进入系统而是进入到recovery模式 按方向上键选择UOS 20 SP1...