5月26日,英特尔工程师David E. Box在platform-driver-x86邮件列表中发布了包含17个补丁的系列更新,提议为Linux内核源码树新增一个名为pmtctl的命令行工具。该工具专为英特尔平台监控技术(PMT)设计。PMT是内核早已支持的一个框架,它通过pmt_telemetry辅助总线驱动程序借助sysfs接口来提供各硬件组件的遥测计数器数据。虽然PMT的内核支持功能已存在多年,但pmtctl则为用户空间提供了查询这些指标的便捷途径——其设计理念与内核自带的turbostat等工具类似。此次系列更新预计会在tools/arch/x86/pmtctl/目录下新增约7000行代码,内容涵盖可复用的库文件(libpmtctl_core)、简易的命令行前端、代码生成脚本以及相关文档。
该库通过扫描/sys/bus/auxiliary/drivers/pmt_telemetry目录实现设备枚举,从sysfs中读取GUID及遥测数据路径,再将采集到的各项指标与对应平台的指标定义进行匹配。PMT的设计刻意做到了与硬件无关:它并未在内核驱动程序中硬编码寄存器布局,而是利用从硬件读取的GUID指向外部的指标定义文件,以此说明采样数据中每个字段的具体含义。这样一来,即便固件或硬件发生变更,也无需修改内核即可更新遥测定义。pmtctl系列更新的目的正是让用户无需自行编写sysfs解析代码或额外安装其他工具,就能直接通过命令行调用这一接口。