FERRAMENTAS LINUX: O Kernel Linux 6.1 é revertido para as "enormes regressões de desempenho" de três linhas de código

segunda-feira, 5 de dezembro de 2022

O Kernel Linux 6.1 é revertido para as "enormes regressões de desempenho" de três linhas de código

 


À frente do kernel Linux 6.1-rc8 que Linus Torvalds deve lançar em breve, em vez de ir direto para o Linux 6.1 estável, uma reversão para uma pequena mudança levando a “enormes regressões de desempenho” em áreas selecionadas foi felizmente detectada e revertida.


Para a janela de mesclagem do Kernel Linux 6.1, houve uma alteração no gerenciamento de memória para alinhar mapeamentos anônimos maiores aos limites do THP. O commit fundamentou:

"Alinhe mapeamentos de memória anônimos maiores em limites THP passando por thp_get_unmapped_area se THPs estiverem ativados para o processo atual.

Com este patch, mapeamentos anônimos maiores agora são alinhados por THP. Quando uma biblioteca malloc aloca uma arena de 2 MB ou maior, essa arena agora pode ser mapeado com THPs desde o início, o que pode resultar em melhores taxas de acertos de TLB e tempo de execução."

Mas acabou que as três linhas de código alteradas acabaram regredindo o desempenho do kernel do Linux 6.1 em algumas áreas.

O teste do kernel da Intel encontrou uma regressão de 95% em um dos benchmarks de escala que remontam a essa mudança. Esse benchmark não é particularmente do mundo real, mas levanta preocupações sobre quais outras cargas de trabalho do espaço do usuário (do mundo real) também podem ser afetadas que ainda não foram testadas nas compilações de desenvolvimento do Kernel Linux 6.1.

O desenvolvedor do Linux, Nathan Chancellor, também relatou uma grande regressão nos tempos de compilação do kernel dessa mudança original. Para construir todas as suas compilações de kernel em uma estação de trabalho Threadripper 3990X, passou de 2 horas e 20 minutos para mais de 3 horas ... Ou para uma compilação allmodconfig x86_64, de 318 segundos para 406 segundos. Uma desaceleração bastante significativa nos tempos de compilação do kernel, além do impacto no desempenho do tempo de execução observado pelos testes da Intel. Enquanto isso, a alteração original ajudou com os tempos de compilação do kernel baseado em GCC, tornando-o cerca de 2% mais rápido.

Assim, por enquanto, Linus Torvalds decidiu reverter o patch de 3 linhas para lidar com o que ele chama de "enormes regressões de desempenho" até que esta situação possa ser melhor resolvida para evitar as regressões significativas.












Até a próxima !!



Nenhum comentário:

Postar um comentário