- O novo utilitário perf sched stats mapeia visualmente gargalos e distribuições de tarefas na CPU.
- Suporte massivo a métricas do processador AMD Zen 6, decodificando pipelines e caches L2/L3.
- Patch massivo liderado por Arnaldo Carvalho de Melo moderniza as ferramentas de profiling.
- Substituição da defasada criptografia SHA-1 pelo algoritmo BLAKE2s, focado em agilidade via software.
- Novidades em fase de testes, com lançamento esperado na versão Estável do Kernel Linux 7.0 em abril.
O criador do pinguim, Linus Torvalds, acaba de integrar um pacote massivo de atualizações enviado por Arnaldo Carvalho de Melo focado nas ferramentas de performance (perf) para a atual janela de mesclagem do Kernel Linux 7.0. O patch introduz o inédito utilitário perf sched stats para mapeamento preciso do agendador de tarefas, substitui o antigo algoritmo SHA-1 pelo moderno BLAKE2s na geração de IDs de compilação e adiciona uma vasta gama de eventos de monitoramento para hardwares de ponta, com destaque para a arquitetura AMD Zen 6 e processadores RISC-V CVA6.
O que isso significa na prática
Se você imaginar o sistema operacional como um paciente e o administrador como um médico, a ferramenta perf é o estetoscópio mais avançado disponível. Ela permite escutar exatamente o que o processador e a memória estão fazendo em milissegundos.
Com essa atualização, o “estetoscópio” ganhou novos superpoderes. A adição do perf sched stats permite que desenvolvedores entendam visualmente como o sistema está distribuindo o trabalho entre os núcleos do processador. Antes, descobrir se uma lentidão era causada por um mau gerenciamento de tarefas do sistema era um trabalho árduo de adivinhação. Agora, a ferramenta gera relatórios claros comparando o “antes e depois” do comportamento da CPU perante qualquer execução.
Para quem utiliza ou planeja utilizar processadores da recém-saída linha AMD Zen 6, o sistema agora “fala a mesma língua” que o hardware, possuindo os dicionários corretos (arquivos JSON) para traduzir o que acontece nos caches e canais de execução do chip. A geração de IDs de binários no sistema também vai ficar mais rápida e segura, deixando de lado uma tecnologia de criptografia defasada para adotar uma mais eficiente e focada em software.
Detalhes da implementação
A mudança impacta diretamente o subsistema de instrumentação e medição do kernel (tools/perf). A principal novidade arquitetural é a implementação da rotina perf sched stats. O utilitário lê os contadores expostos em /proc/schedstat e suporta os fluxos de trabalho record, report e diff. O recurso captura o estado das métricas de balanceamento de carga do kernel e as ocorrências de try_to_wake_up() antes e depois da execução de uma carga de trabalho, calculando a diferença com alta precisão.
No nível de processamento de binários e símbolos, o patch promove um expurgo da biblioteca criptográfica antiga. Todo o código que utilizava SHA-1 para a geração de build ID foi removido e substituído por uma implementação enxuta do algoritmo BLAKE2s (util/blake2s.c). Como o BLAKE2s é otimizado puramente para processamento nativo via software, isso reduz o gargalo de performance da ferramenta ao mapear grandes volumes de arquivos ELF.
A capacidade de resolução de endereços (addr2line) também recebeu refinamentos. Uma nova implementação mais ágil baseada em libdw foi introduzida, permitindo que o usuário escolha o backend preferido de compilação via perf config addr2line.style=.
O diretório pmu-events foi massivamente populado com eventos detalhados da arquitetura AMD Zen 6, cobrindo predição de desvios, caches L2/L3, controladora de memória e métricas recomendadas de pipeline. O suporte RISC-V acompanhou o ritmo com a adição dos contadores de hardware da placa OpenHW CVA6.
Curiosidades e bastidores da discussão
As trocas de mensagens na LKML e os commits liderados por Arnaldo refletem a constante busca por manter o perf como a principal e mais moderna ferramenta de profiling do mundo Linux. A remoção do SHA-1 marca uma virada importante em higiene de código: algoritmos legados geram atrito e potenciais falsos positivos de segurança em auditorias de sistemas corporativos, e o BLAKE2s entra não apenas para mitigar esse peso, mas para acelerar a geração física de hashes na leitura estrutural dos binários.
Um detalhe de engenharia interessante nos bastidores dessa submissão é a inclusão de testes regressivos para cargas de trabalho escritas em Rust (code_with_type.rs). O patch adiciona suporte para verificar os relatórios de tipagem de dados (data-type profiling) diretamente em binários gerados pelo compilador rustc. Isso evidencia a rápida maturação e aceitação formal da linguagem dentro da cultura e das ferramentas de depuração do próprio ecossistema do kernel.
Quando isso chega no meu PC?
Com a abertura da janela de mesclagem do Kernel Linux 7.0 em meados de fevereiro de 2026, estamos entrando na fase de Release Candidates (iniciando pela 7.0-rc1). A previsão realista é que o Kernel Linux 7.0 seja lançado como versão Estável e final em abril de 2026.
Usuários de distribuições focadas em vanguarda e rolling release, como Arch Linux e openSUSE Tumbleweed, deverão receber os novos pacotes perf poucos dias após o lançamento de abril. Distros de ciclo fixo de longo prazo, como o aguardado Ubuntu 26.04 LTS (previsto para abril), podem precisar aguardar futuras atualizações via Hardware Enablement (HWE) ou backports das distribuições pai, garantindo os ganhos da nova stack HBP (Hardware Performance Counters) sem corromper a estabilidade.
