A segunda versão de patches com reestruturação dos arquivos de cabeçalho do kernel Linux

Ingo Molnar apresentou a segunda versão de um conjunto de patches que podem reduzir significativamente o tempo de reconstrução do kernel, reestruturando a hierarquia dos arquivos de cabeçalho e reduzindo o número de dependências cruzadas. A nova versão difere da primeira versão proposta há poucos dias por ser adaptada para o kernel 5.16-rc8, adicionando otimizações adicionais e implementando suporte para construção usando o compilador Clang. Ao usar o Clang, a aplicação de patches reduziu o tempo de construção em 88% ou 77% em termos de consumo de recursos da CPU. Ao reconstruir completamente o kernel com o comando “make -j96 vmlinux”, o tempo de construção foi reduzido de 337.788 para 179.773 segundos.

A nova versão também resolve o problema dos plugins do GCC, corrige erros identificados durante o processo de revisão inicial e unifica declarações duplicadas da estrutura “task_struct_per_task”. Além disso, a otimização do arquivo de cabeçalho linux/sched.h continuou e foi implementada a otimização dos arquivos de cabeçalho do subsistema RDMA (infiniband), o que permitiu reduzir ainda mais o tempo de construção em 9% em relação à primeira versão dos patches. O número de arquivos C do kernel que incluem o arquivo de cabeçalho linux/sched.h foi reduzido de 68% para 36% em comparação com a primeira versão dos patches (de 99% para 36% em comparação com o kernel original).

Fonte: opennet.ru

Adicionar um comentário