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 .
Até a próxima !!
Nenhum comentário:
Postar um comentário