FERRAMENTAS LINUX: A solicitação de pull de fólios de memória está pendente para o Kernel Linux 5.15

terça-feira, 24 de agosto de 2021

A solicitação de pull de fólios de memória está pendente para o Kernel Linux 5.15

 

Confira !!


Com a janela de mesclagem do kernel Linux 5.15 provavelmente abrindo na próxima semana , Matthew Wilcox da Oracle já enviou uma solicitação de pull proeminente para Linus Torvalds: o trabalho inicial em torno do desembarque dos patches dos fólios de memória .

Os fólios de memória são parte do esforço para melhorar o gerenciamento de memória do Linux , introduzindo uma nova estrutura de "fólio" para ajudar a gerenciar a memória, permitindo que os sistemas de arquivos e o cache de página gerenciem a memória em pedaços maiores do que o tamanho da página do kernel.

Gerenciar memória em páginas de 4 KB é uma sobrecarga séria. Muitos benchmarks se beneficiam de um "tamanho de página" maior. Como exemplo, uma iteração anterior desta ideia que usava páginas compostas (e não estava particularmente ajustada) obteve um aumento de 7% no desempenho ao compilar o kernel.

O uso de páginas compostas ou THPs expõe uma fraqueza de nosso sistema de tipos. Freqüentemente, as funções não são preparadas para que páginas compostas sejam transmitidas a elas e só podem agir em partes PAGE_SIZE. Mesmo as funções que estão cientes de páginas compostas podem esperar uma página inicial e fazer a coisa errada se passarem uma página final.

Também desperdiçamos muitas instruções garantindo que não estamos olhando para uma página final. Quase todas as chamadas para PageFoo () contém uma ou mais chamadas ocultas para composite_head (). Isso também acontece para get_page (), put_page () e muitas outras funções.

Esta série de patches usa um novo tipo, o struct folio, para gerenciar a memória. Ele converte o cache de página, iomap e XFS o suficiente para usar fólios em vez de páginas e, em seguida, adiciona suporte para fólios de várias páginas.

Wilcox enviou o código antes da abertura oficial da janela de fusão para dar a Linus Torvalds tempo para considerar esta mudança de baixo nível.

Para o 5.15, o gerenciamento de memória central e as alterações do cache de página estão em vigor. Com o ciclo do Kernel Linux 5.16 é quando se espera que o XFS e outros sistemas de arquivos vejam as adaptações para fazer uso de fólios de memória e no tempo do Kernel Linux 5.17 é provável que o recurso de vários fólios esteja pronto.

Quanto ao desempenho atual do código dos fólios de memória, "Os fólios de várias páginas oferecem algumas melhorias para algumas cargas de trabalho. A vitória de 80% é real, mas parece ser um benchmark artificial (inicialização do postgres, que não é uma carga de trabalho séria). Cargas de trabalho reais (por exemplo, construir o kernel, rodar o postgres em um estado estável, etc) parecem se beneficiar entre 0-10%. Não ouvi falar de nenhuma perda de desempenho como resultado desta série. Ninguém fez nenhum ajuste sério de desempenho; Imagino que ajustar o algoritmo de leitura à frente poderia fornecer algumas vitórias mais interessantes. Existem também outros lugares onde poderíamos escolher criar fólios grandes e atualmente não o fazemos, como gravações maiores que PAGE_SIZE. "

Mais detalhes por meio da solicitação de pull enquanto espera para ver se Linus comenta o recurso e / ou decide puxá-lo no tempo de janela de mesclagem do Kernel Linux 5,15.





Fonte

Até a próxima !

Nenhum comentário:

Postar um comentário