Linux 5.19 允许 clearcpuid 不再使用数字参数

rose1 发表于2022-05-31 17:25
浏览次数:
在手机上阅读
此文章约为499字,阅读需要2 分钟

Linux x86/x86_64 内核长期以来一直使用 clearcpuid= 内核参数来禁止内核使用某些 cpuID 功能。然而它的使用并不直观,因为它依赖于传递特定功能的位号(bit numbers)。在 Linux 5.19 中,如果想要禁用特定的 CPUID 功能,将会变得更容易处理了。

Linux 5.19 允许 clearcpuid 不再使用数字参数

到现在为止,如果想禁用 Linux 内核所使用的 CPUID 功能,用户需要查看内核 x86 区域的 cpufeatures.h 头文件,并找到你想禁用的功能的位号。例如,想要禁用 AVX 意味着你需要设置 clearcpuid=156。而且需要特别留意的是,有些位号在不同的 Linux 内核版本中并不完全一致。

在 Linux 5.19 中,clearcpuid= 内核参数可以设置为 /proc/cpuinfo 中显示的标志值字符串。因此,与其需要记住像 clearcpuid=156 这样的数字,你现在可以直接使用 clearcpuid=avx。多个 CPUID 标志可以通过使用逗号来分隔。

Linux 5.19 允许 clearcpuid 不再使用数字参数

对于系统管理员和那些在系统上调试内核行为的开发者来说,这是一个早就应该进行的内核可用性改进。此次改进并不意味着此前使用的位数方法会被淘汰,新版本中依然可以使用位数。用户空间的软件通过直接调用 CPUID 或直接使用任何相关指令也能够继续使用对应的功能, clearcpuid= 只是为了避免 Linux 内核的使用,并从 /proc/cpuinfo 输出中删除它。这一变化将作为 Linux 5.19 的 x86/cpu 更新的一部分被合并。

更多精彩内容敬请关注UC电脑园!

个用户觉得很有用

uc电脑园提供的技术方案或与您产品的实际情况有所差异,您需在完整阅读方案并知晓其提示风险的情况下谨慎操作,避免造成任何损失。

如此好文,分享给朋友

图片来源:网络

发表评论
验证码:
评论列表
共0条