Pacotes de kernel devem fazer parte do Linux e garantir grande economia de memória

Processadores: Suporte ao AMD P-State Preferred Core. Ajuste para Intel Meteor Lake para ajudar com o desempenho e eficiência energética. Continuação dos preparativos para o Intel X86S. O Intel FRED foi fundido para entrega flexível de eventos de retorno. Otimizações KVM para plataformas Intel e AMD. Tempos de inicialização mais rápidos para sistemas grandes com muita RAM e fazendo uso de páginas HugeTLB. Novas rotinas de criptografia aceleradas por vetor RISC-V. O LoongArch habilita mais recursos do kernel, como suporte a objtool, desbobinador de pilha ORC, livepatching do kernel e muito mais. Progresso contínuo na computação confidencial da AMD com mais bits SEV-SNP sendo upstreamed. O driver ARM SCMI CPUFreq habilita o boost por padrão. O AMD FRU Memory Poison Manager foi fundido como parte do trabalho contínuo da série MI300. Comportamento aprimorado de limitação de largura de banda de memória no Linux 6.9. Iniciar o IBM POWER11 suportar upstreaming para esses processadores Power de próxima geração. Suporte a ferrugem ARM64. O suporte ao SoC Mobileeye EyeQ5 foi finalmente atualizado. Um novo driver VFIO para o Grace Hopper Superchip da NVIDIA. Novo suporte a SoC Arm. Código de topologia x86 reformulado para melhor suporte à CPU híbrida Intel Core. Habilitação um pouco mais fácil de futuras gerações de CPU AMD Zen. Gráficos: Suporte para fontes de console FB (frame-buffer) maiores para aparecer melhor nos monitores 4K e superiores atuais. O Intel Fastboot agora está habilitado para todas as plataformas. Mais IDs PCI de dispositivo para Intel Arrow Lake e Alder Lake N. Trabalho de habilitação continuado pela AMD para a atualização RDNA3 (RDNA3.5) e IP gráfico RDNA4. O AMD FreeSync Video foi desativado. Melhorias contínuas para o novo driver DRM Intel Xe (experimental). Muitas outras melhorias de driver gráfico de código aberto. Armazenamento/Sistemas de Arquivos: Descartando o driver NTFS antigo. Melhoria no tratamento de arquivos/pastas sem diferenciação de maiúsculas e minúsculas. Otimizações de desempenho para Btrfs. O DM VDO foi upstream para este Virtual Data Optimizer que há muito está fora da árvore. Descarte mais eficiente e pipelining de diário aprimorado para Bcachefs. O modo de passagem FUSE finalmente chegou ao kernel principal. Mais melhorias de reparo on-line para XFS. Suporte aprimorado para Macs antigos com Firewire para uso em virtualização. Suporte aprimorado a dispositivos de bloco zoneado para F2FS. Identificadores de arquivo duráveis para KMSBD, o servidor SMB no kernel. Desempenho exFAT muito mais rápido ao ativar a opção de montagem “dirsync”. IO_uring agora suporta NAPP truncado e por anel. Hardware Geral: Muitas melhorias de rede. Melhorias para laptops AMD e Intel, como melhor desempenho de laptop HP para modelos selecionados devido a um TDP mais alto. Enumeração de desempenho de memória nativa e injeção de erros para CXL. Suporte para Snakebyte Gamepads. Novos drivers de monitoramento de hardware para produtos de resfriamento líquido NZXT e ASUS AIO CPU. Suporta mais dispositivos Samsung Bluetooth HID. Removendo mais código para a extinta plataforma Intel Carillo Ranch. Atualizações de Soundwire para Intel e AMD. Segurança Linux: A Microsoft agora semeia melhor o RNG para VMs Hyper-V. Um controle de tempo de compilação para autorizar ou não dispositivos USB conectados. Mais reforço da segurança. Uma alteração para satisfazer a Microsoft para a assinatura do carregador de calço EFI x86. Gerenciamento mais fácil das opções de mitigação de segurança. Outras mudanças no Linux: Uma correção para muitas mensagens de depuração que retardam alguns sistemas AMD. Alterações significativas nas filas de trabalho. Limpeza contínua do código de impressão em prearation para consoles atômicos. Melhorias no driver de fala do Linux. Melhorias contínuas no alocador SLUB. Reduzindo a sobrecarga de CR3 escreve. Um grande retrabalho para o código de temporizadores da CPU. Atualizando para o toolchain Rust 1.76.
tux

O kernel Linux deve ganhar pacotes dinâmicos para garantir grande economia de memória. Uma série de patches de “pedido de comentários” foi postada na segunda-feira para um novo recurso de pilhas de kernel dinâmico para Linux. Os primeiros testes mostraram o potencial para uma economia de memória significativa. Assim, pacotes de kernel devem fazer parte do Linux e garantir grande economia de memória.

Seguindo uma proposta da cúpula LSF/MM do ano passado, o Google implementou o suporte para pilhas dinâmicas de kernel. Na última década, o tamanho padrão da pilha do kernel Linux upstream foi 16K acima do tamanho anterior de 8K.

O Google vinha carregando patches de kernel para manter pilhas 8K, mas com o tempo encontrou a necessidade de tamanhos de pilha maiores, aos quais eles, por sua vez, atingiram o aumento do uso de memória com suas implantações em hiperescala. Para mitigar o aumento do uso de memória, o Google tem trabalhado em pilhas de kernel dinâmicas, já que muitos threads de kernel podem caber em pilhas 4K ou 8K.

Os patches RFC em andamento para pilhas dinâmicas de kernel até agora foram levemente testados e permitem o dimensionamento de 4K a limites THREAD_SIZE. Os engenheiros do Google descobriram que as pilhas dinâmicas do kernel podem economizar em média 70 ~ 75% da memória da pilha do kernel.

Pacotes dinâmicos de kernel devem fazer parte do Linux e garantir grande economia de memória

Os primeiros resultados postados por Pasha Tatashin foram muito promissores, mas podem depender da carga de trabalho, virtualização e outros fatores:

Pacotes de kernel devem fazer parte do Linux e garantir grande economia de memória.

Tatashin ainda acrescentou: “Algumas cargas de trabalho com milhões de threads podem se beneficiar significativamente desse recurso”.

Veja a série de patches RFC para aqueles interessados neste trabalho para economizar na memória da pilha do kernel.