英特尔的工程师们一直在开发一个叫做「kcpuid」的工具,用来显示 Linux 下处理器的原始 CPU 特性/能力。这个工具将成为内核源码树(kernel source tree)的一部分,现在已经在 tip 的 x86/misc 分支中排队,如果一切正常,「kcpuid」将会在下一次合并周期中成为 Linux 5.13 的一部分。
用户和管理员通常可以依靠 /proc/cpuinfo
来快速找出某个系统的 CPU 特性。但是回报的 CPU 信息可能会有一点误导性,因为一些信息可能会因为内核启动时间/命令行选项而被遗漏,这些选项可能会禁用一些特性标志。同时还有其他用户空间的实用程序可以读取 CPU 特性,但它们不一定是最新的 CPU,除此之外还有一些其他的潜在问题。
正因如此,所以就有了英特尔贡献的「kcpuid」实用程序,这是一个内核树内(in-kernel-tree)的实用程序,类似于同样驻留在树中的 perf
用户空间组件,以及其他非内核代码。「kcpuid」会根据 CPUID 指令的存在来报告 CPU 的特性,而不管内核是否在使用该特性。这个实用程序还可以提供类似 /proc/cpuinfo
的输出,方便解析和比较。
此外,这个实用程序另一个便利之处在于 CPUID leaf 定义被保存在 CSV 文件中,方便解析和很好的进行新的添加。「kcpuid」命令行实用程序支持多种不同的选项,并以多种方式转储支持的 CPU 特性。
本周一,「kcpuid」被并入了 tip 的 x86/misc 分支,这意味着它应该在两个月后会成为 Linux 5.13 的一部分。