na semana passada, para o kernel Linux 5.19, trouxe algumas atualizações de PMU de plataforma empolgantes no lado da AMD, além de oferecer suporte a CPUs mais recentes no lado da Intel.
As mudanças da plataforma PMU no lado da Intel incluem suporte para os processadores Alder Lake N e Raptor Lake P. Outros modelos Alder Lake e Raptor Lake foram adicionados anteriormente ao código de desempenho da Intel, enquanto Alder Lake N e Raptor Lake P foram deixados de fora até agora ao serem adicionados ao código do kernel. Apenas novos IDs são necessários sem outras diferenças do lado da PMU com esses novos chips.
As mudanças da plataforma PMU no lado da AMD são muito mais interessantes com o Linux 5.19:
As extensões AMD Zen 4 IBS foram mescladas. Isso é para os novos recursos de amostragem baseada em instruções (IBS) que vêm com os processadores Zen 4 lançados ainda este ano. Os patches do Linux deixam bem claro que o novo suporte IBS está chegando com o Zen 4 e não apenas com uma vaga família de processadores futuros/futuros. Com os processadores Zen 4, há várias alterações de amostragem baseada em instruções:
A extensão DataSrc fornece detalhes adicionais da fonte de dados para operações de carregamento/armazenamento marcados. Adicione suporte para esses novos bits no relatório/script raw-dump perf.
A filtragem de falta L3 IBS funciona marcando uma instrução no estouro do contador IBS e gerando um NMI se a instrução marcada causar uma falta L3. Amostras sem L3 miss são descartadas e o contador é reiniciado com valor aleatório (entre 1-15 para fetch pmu e 1-127 para op pmu). Isso ajuda a reduzir a sobrecarga de amostragem quando o usuário está interessado apenas em tais amostras. Um dos casos de uso de tais amostras filtradas é alimentar dados para daemon de migração de página em sistemas de memória em camadas.
Adicione suporte para filtragem de falta L3 no driver IBS por meio do novo atributo pmu”l3missonly”.
O AMD PerfMonV2 também será compatível com o Linux 5.19. Existem várias alterações no kernel necessárias para os recursos atualizados de monitoramento de desempenho da AMD que vêm com as novas CPUs AMD-o Zen 4 não é mencionado explicitamente aqui, mas supõe-se que seja o caso. O AMD Performance Monitoring V2 tem novos registros”globais”para permitir a ativação/desativação de vários contadores de desempenho ao mesmo tempo. Com o AMD Performance Monitoring até este ponto, todos os diferentes controles do contador de desempenho tiveram que ser configurados individualmente, enquanto agora podem ser configurados facilmente de uma só vez usando os registros globais, quando presentes. O AMD Performance Monitoring V2 também permite detectar sistematicamente o número de PMCs principais, em vez de ser definido estaticamente por família. Os patches foram para revisão e foram abotoados a tempo para o Linux 5.19.
As novas extensões IBS e PerfMonV2 são para futuras CPUs Zen 4, enquanto BRS Branch Sampling chegou ao Linux 5.19 como um recurso finalmente conectado para Zen 3 e mais recente.
Para AMD Zen 3 existente processadores, há uma nova funcionalidade Branch Sampling”BRS”agora suportada com Linux 5.19. Voltando ao ano passado, os patches AMD BRS foram publicados pelo Google para integrar os novos recursos de hardware Branch Sampling ao subsistema perf do Linux. O AMD BRS com Zen 3 permite coletar detalhes sobre ramificações obtidas durante a execução do código. Os engenheiros do Google têm trabalhado neste suporte ao AMD BRS com um foco aparente em fazer uso dos dados para alimentá-los em otimizações de compilador no estilo AutoFDO em processadores AMD. Isso é para os compiladores aproveitarem os dados de hardware coletados para tomar decisões de otimização mais informadas/precisas com base nesse perfil.
Depois que o código AMD Branch Sampling foi revisado e revisado nos últimos meses, é bom ver que o AMD BRS está pronto e foi mesclado com sucesso como parte das alterações do evento perf para Linux 5.19. Espera-se que o AMD BRS também esteja presente nos próximos processadores Zen 4, mas pelo menos esse recurso está finalmente aqui para os clientes do Zen 3 também.
Essas alterações da AMD e outros patches de eventos de desempenho podem ser encontrados através este pull no Linux 5.19.
