FERRAMENTAS LINUX: O suporte para as otimizações guiadas por perfil no Clang foi enviado para o Kerrnel Linux 5.14

quarta-feira, 30 de junho de 2021

O suporte para as otimizações guiadas por perfil no Clang foi enviado para o Kerrnel Linux 5.14

 


Confira !!


Compilar o kernel Linux com o compilador de código Clang do LLVM continua a ser mais cheio de recursos com o encanamento agora sendo adicionado para lidar com otimizações guiadas por perfil (PGO) para ajudar a alcançar maior desempenho para otimizar compilações de kernel para cargas de trabalho direcionadas.

No início deste mês, escrevi sobre o provável lançamento do Clang PGO para o Kernel  Linux 5.14 e, de fato, a solicitação de pull foi enviada na segunda-feira. Embora o GCC PGO para o kernel Linux tenha sido derrubado anteriormente, parece que essa nova infraestrutura entrará neste novo ciclo.

Este suporte do Clang PGO para o kernel foi trabalhado pelos engenheiros do Google, semelhante a muitas outras melhorias de compilação LLVM / Clang para o kernel do Linux. As otimizações guiadas por perfil do compilador (PGO) permitem primeiro construir o software (neste caso, o kernel) com bits de perfil habilitados para que o desenvolvedor / administrador possa executar suas cargas de trabalho desejadas enquanto gera um perfil. Uma segunda construção do mesmo software é conduzida posteriormente enquanto aproveita os dados de perfil para que o compilador possa tomar decisões mais informadas em nome de obter maior desempenho para as cargas de trabalho direcionadas durante essa geração de perfil.

A infraestrutura do Clang PGO permite que dados de perfil brutos sejam coletados por meio de / sys / kernel / debug / pgo / profraw . Esses dados brutos do perfil precisam ser processados ​​usando a Ferramenta llvm-profdata em que vários perfis também podem ser mesclados. Ao reconstruir para o kernel otimizado para PGO, os dados de perfil processados ​​podem ser passados ​​de volta por meio dos sinalizadores do compilador, como make LLVM = 1 KCFLAGS = -fprofile-use = vmlinux.profdata .

Com o código enviado na segunda-feira, o suporte do Clang PGO é apenas para a imagem principal do kernel. Os patches ainda estão em andamento para permitir que módulos individuais do kernel utilizem o PGO.

Também enviado como parte do pull de segunda-feira foi estender o suporte Clang x86_64 LTO (Link Time Optimization) mesclado com o ciclo anterior para agora também funcionar para compilações de kernel x86 de 32 bits.

Mais detalhes sobre essas melhorias no suporte do compilador LLVM / Clang para Linux 5.14 por meio deste PR .






Fonte

Até a próxima !!







Nenhum comentário:

Postar um comentário