新闻

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

rose1
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电脑园!

发表评论
评论列表
共0条
点击加载更多