FERRAMENTAS LINUX: O Experimental -O3 está otimizando o Kernel Linux para ter um melhor desempenho Trazido Novamente

sexta-feira, 24 de junho de 2022

O Experimental -O3 está otimizando o Kernel Linux para ter um melhor desempenho Trazido Novamente

 

Confira !!

Um conjunto de patches foi postado para tornar o nível de otimização do compilador "-O3" mais facilmente acessível ao construir o kernel Linux, mas ainda não é recomendado e alguns desenvolvedores do kernel nem querem vê-lo como uma opção do Kconfig.

No momento, existe a opção "CC_OPTIMIZE_FOR_PERFORMANCE_O3" do Kconfig para definir o nível de otimização "-O3" ao compilar o kernel para fazer uso desse nível de otimização mais alto sobre o -O2 padrão. A esperança é que o compilador GCC ou Clang otimize melhor o kernel para um melhor desempenho, mas no momento essa opção está exposta apenas para a porta da arquitetura de CPU ARC.

Embora o -O3 otimizando as compilações de aplicativos do espaço do usuário geralmente seja feito para obter melhor desempenho, com a complexidade do kernel e a base de código muito grande, ele está propenso a possíveis erros ou comportamento incorreto com o código do kernel de baixo nível. Assim, o -O3' do kernel não é amplamente realizado devido à possibilidade de problemas sutis e possivelmente difíceis de notar/detectar.

Mas há interesse deos entusiastas em -O3 otimizarem o kernel para maior desempenho e/ou de desenvolvedores em construir com o nível de otimização mais alto para tentar descobrir bugs no código do kernel Linux e/ou no próprio compilador onde as otimizações dão errado.

Miko Larsson enviou um conjunto de patches esta semana que permitiria que o CC_OPTIMIZE_FOR_PERFORMANCE_O3 fosse ativado para arquiteturas não ARC -- ou seja, torná-lo disponível para todas as compilações do kernel Linux. Também marca a opção claramente como sendo um recurso "EXPERIMENTAL".

A série de patches está fora para revisão. No entanto, foi sugerido a possibilidade de remover a opção, embora sempre tenha sido usada no ARC. A sugestão é para os interessados ​​em "recursos experimentais" poderem apenas construir o kernel usando make KCFLAGS=-O3para alcançar a mesma compilação otimizada para O3. Geralmente, os desenvolvedores do kernel Linux upstream são bastante conservadores em recursos agressivos do compilador apenas destinados a ganhos de desempenho quando isso pode significar bugs sutis / problemas difíceis de detectar. Mas veremos se algo mais vem desta discussão mais recente sobre as otimizações do compilador -O3 para as compilações do kernel Linux.














Até a próxima !!

Nenhum comentário:

Postar um comentário