A Intel publica uma série de 17 patches que introduzem o pmtctl, uma nova ferramenta para o kernel do Linux destinada a consultar métricas da Tecnologia de Monitoramento de Plataforma.

O engenheiro da Intel David E. Box publicou, em 26 de maio, uma série de 17 patches na lista de discussão platform-driver-x86, propondo uma nova ferramenta de linha de comando chamada pmtctl para o código-fonte do kernel do Linux. Essa ferramenta destina-se à Tecnologia de Monitoramento de Plataforma da Intel (PMT), um framework já suportado pelo kernel que expõe contadores de telemetria de hardware por componente através do sysfs, por meio do driver pmt_telemetry do barramento auxiliar. Embora o suporte ao PMT no kernel esteja presente há vários anos, o pmtctl oferece uma interface prática no espaço do usuário para consultar essas métricas — seguindo conceitualmente o mesmo modelo de utilitários existentes no kernel, como o turbostat. A série de patches inclui cerca de 7.000 linhas de código novo, distribuídas entre uma biblioteca reutilizável (libpmtctl_core), uma interface de linha de comando simplificada, scripts de geração de código e documentação, tudo localizado em tools/arch/x86/pmtctl/.

Essa biblioteca cuida da enumeração de dispositivos ao varrer o diretório /sys/bus/auxiliary/drivers/pmt_telemetry, lendo os GUIDs e os caminhos dos dados de telemetria no sysfs, além de associar os campos de cada amostra às definições de métricas específicas da plataforma. O design do PMT foi pensado para ser independente de hardware: em vez de codificar rigidamente os layouts dos registros nos drivers do kernel, um GUID lido diretamente do hardware aponta para um arquivo externo que descreve o significado de cada campo nos dados coletados. Isso permite atualizar as definições de telemetria conforme mudanças no firmware ou no próprio hardware, sem necessidade de novos patches no kernel. A série de patches do pmtctl tem como objetivo tornar essa interface acessível diretamente pela linha de comando, dispensando que os usuários escrevam seu próprio código para interpretar o sysfs ou gerenciem ferramentas externas.

Lista de Discussão do Kernel do Linux | Phoronix