FERRAMENTAS LINUX: Um Patch da AMD está para usar o MWAIT em vez de HALT para certos casos e produz uma melhoria de ~ 21%

quinta-feira, 7 de abril de 2022

Um Patch da AMD está para usar o MWAIT em vez de HALT para certos casos e produz uma melhoria de ~ 21%

 

Confira !!

Como uma mudança no kernel do Linux para beneficiar as CPUs AMD voltando ao Zen 1 e para o comportamento correspondente que a Intel teve desde o Core 2 vezes, a AMD enviou um patch para que o kernel do Linux usasse a instrução MWAIT em vez de HALT para quando o sistema está não está usando o driver ocioso da CPU para estados C sendo desabilitados pelo BIOS ou o driver não faz parte da compilação do kernel. Por sua vez, isso pode levar a uma melhoria de cerca de 21% na latência de saída nos sistemas afetados.

A instrução Monitor Wait "MWAIT" pode ser usada para fins de gerenciamento de energia para indicar que o processador pode entrar em um estado C de destino especificado enquanto aguarda a conclusão de um evento ou de uma operação de armazenamento monitorada. O uso do MWAIT deve ser mais eficiente do que a instrução HALT.


O Intel Core 2 e posteriores já preferiram a instrução MWAIT sobre HALT para entrar no estado C1 e esse tem sido o comportamento no kernel do Linux. As CPUs da AMD continuam usando HALT neste caminho de código para casos como não usar o driver ocioso da CPU (por estar desabilitado ou não fazer parte da compilação do kernel) ou quando os C-states são desabilitados pelo BIOS do sistema, portanto, reconhecidamente um nicho.

O patch proposto esta semana pela AMD agora passa a usar o MWAIT para todos os processadores AMD Zen para Zen 1 e mais recente, além de Hygon Dhyana também. No AMD Zen 3 (e resultados semelhantes para o Zen mais antigo também), a latência de saída foi cerca de 21% menor usando MWAIT em vez de HALT. A maioria dos usuários usará o driver ocioso da CPU e, portanto, não será afetado por este patch, mas para aqueles que não estão, essa mudança pode ser benéfica. A alta latência com HALT aparentemente surgiu no teste/uso do mundo real ao explorar a perda de pacotes em um programa de rede não especificado como parte das "observações de desempenho do cliente".


Esta mudança AMD está atualmente sob revisão na lista de discussão do kernel 












Até a próxima !!

















Nenhum comentário:

Postar um comentário