Como uma mudança no kernel do Linux para beneficiar as CPUs da AMD voltando ao Zen 1 e para o comportamento compatível 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 o sistema 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.

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 alteração da AMD está atualmente em análise no lista de discussão do kernel.

Categories: IT Info