인텔 엔지니어 데이비드 E. 박스는 5월 26일 플랫폼-드라이버-x86 메일링 리스트에 총 17개의 패치 시리즈를 게시하며, 리눅스 커널 소스 트리용 pmtctl이라는 새로운 명령줄 도구를 제안했습니다. 이 도구는 인텔 플랫폼 모니터링 기술(PMT)을 대상으로 하는데, 이 기술은 이미 커널에서 지원 중인 프레임워크로 pmt_telemetry 보조 버스 드라이버를 통해 sysfs를 이용해 각 하드웨어 구성요소별 텔레메트리 카운터 정보를 제공합니다. PMT에 대한 커널 지원은 수년간 메인라인 트리에 포함되어 왔지만, pmtctl은 turbostat 같은 기존 커널 유틸리티와 개념적으로 유사하게 해당 지표들을 조회할 수 있는 사용자 공간 인터페이스를 제공합니다. 이번 패치 시리즈를 통해 tools/arch/x86/pmtctl/ 디렉토리 아래에 재사용 가능한 라이브러리(libpmtctl_core), 간단한 CLI 프론트엔드, 코드 생성 스크립트 및 문서화 자료 등 약 7,000줄 분량의 신규 코드가 추가될 예정입니다.
이 라이브러리는 /sys/bus/auxiliary/drivers/pmt_telemetry를 스캔하여 장치를 열거하고, sysfs에서 GUID와 텔레메트리 데이터 경로를 읽어낸 뒤 각 샘플 데이터 필드를 플랫폼별 지표 정의와 매칭합니다. PMT의 설계 방식은 의도적으로 하드웨어 종속성을 배제하도록 되어 있습니다. 즉, 커널 드라이버 내에 레지스터 구조를 직접 하드코딩하는 대신 하드웨어에서 읽어온 GUID를 기준으로 외부에 위치한 지표 정의 파일을 참조함으로써 샘플 데이터 내 각 필드의 의미를 파악합니다. 이 덕분에 펌웨어나 하드웨어 변경 시에도 커널 패치를 적용하지 않고 텔레메트리 정의만 업데이트할 수 있습니다. pmtctl 패치 시리즈는 이러한 인터페이스를 사용자가 직접 작성한 sysfs 파싱 코드나 별도의 외부 도구 없이도 명령줄에서 직접 활용할 수 있도록 만들려는 목적을 가지고 있습니다.