Além do MGLRU ser planejado para o Linux 6.1 como uma grande melhoria no código de recuperação de página e bons benefícios de desempenho, outra mudança relacionada ao gerenciamento de memória que está flutuando no ramo “mm-unstable” de Andrew Morton recentemente tem suportado camadas de memória explícitas e trabalho em torno de melhorar o suporte de memória cansado do kernel Linux.
Esses patches decorrem de discussões do kernel upstream meses atrás sobre possíveis melhorias na camada de memória com alguns dispositivos de memória não sendo colocados na camada melhor ou mais relevante, bem como a falta de informações de espaço do usuário em torno da hierarquia da camada de memória.
Camadas de memória especiais podem estar prontas para Linux 6.1
Esse suporte de memória em camadas é principalmente sobre servidores Linux onde pode haver várias classes de memória e sobre o Linux reconhecendo isso e alocando a memória mais rápida para as tarefas mais importantes e sendo capaz de rebaixar para camadas de memória mais lentas para alocações menos importantes, etc. da infraestrutura de camadas de memória Linux foi iniciada pela Intel para Optane DC Persistent Memory que agora está sendo abandonada, a memória em camadas ainda é ainda mais importante para futuros servidores com Compute Express Link (CXL), alguns SKUs Xeon Sapphire Rapids que vêm com memória HBM2 integrada, e outras inovações que levam a várias classes/camadas de RAM endereçável em sistemas.
Este suporte Linux pendente para camadas de memória explícita foi projetado com isso em mente que um nó NUMA somente de memória poderia ter um dispositivo de memória de alto desempenho que deveria estar em uma camada superior, os nós NUMA de memória HBM deveriam estar sempre na camada superior, lidando com alterações na camada de memória decorrentes da adição/remoção a quente da CPU e melhor controle sobre a ordem de rebaixamento.
Este patch em mm-unstable aborda o novo design de camadas de memória explícita do próximo código. Os outros patches também são enfileirados como parte dessa ramificação do Git para revisar o código de rebaixamento de memória. Dado que esses patches estão sendo lançados na área de testes de gerenciamento de memória de Andrew Morton, se tudo correr bem, poderemos ver essas melhorias na camada de memória provavelmente mescladas para o Linux 6.1.
AMD publica os últimos patches VNMI para o kernel Linux
No início de junho, os engenheiros da AMD começaram a divulgar suporte para habilitar o Virtual NMI no Linux para CPUs AMD com KVM e permitir suporte de hardware. Espera-se que o VNMI finalmente aconteça no lado da AMD com processadores Zen 4 e hoje eles publicaram sua última revisão deste trabalho.
Conforme explicado anteriormente nos patches AMD VNMI:
Atualmente, o NMI é entregue ao convidado usando o mecanismo de Injeção de Evento. O mecanismo de Injeção de Eventos não bloqueia a entrega de NMIs subsequentes. Portanto, o Hypervisor precisa rastrear a entrega do NMI e sua conclusão (interceptando o IRET) antes de enviar um novo NMI.O Virtual NMI (VNMI) permite que o hypervisor injete o NMI no convidado sem usar o mecanismo de Injeção de Evento, o que significa que não é necessário rastrear o NMI convidado e interceptar o IRET.
Enquanto isso, a Intel oferece suporte ao Virtual NMI em seus processadores há anos. Os patches AMD VNMI Linux não chamam especificamente o AMD Zen 4, pois o recurso está sendo verificado apenas em relação a um bit de recurso, mas, devido ao tempo desses patches, é presumivelmente o motivo pelo qual estamos vendo esse trabalho acontecer agora.
Os patches v4 foram enviados, pois esse suporte AMD VNMI (incluindo VNMI aninhado) funciona para o kernel Linux principal. Dado o momento desta última iteração de patch, o mais cedo que veremos esse suporte em linha seria o ciclo v6.1 com sua janela de mesclagem em outubro.
Enquanto isso, como um lembrete um pouco relacionado, esta noite é um evento de transmissão ao vivo da AMD no YouTube sobre seus processadores Ryzen de próxima geração.