Agora que o Linux 6.1-rc1 foi lançado, aqui está minha visão de todas as mudanças interessantes do kernel e novos recursos que chegaram nos últimos dois semanas. O Linux 6.1 está se preparando para ser outro kernel empolgante com muitos novos recursos de software, novo trabalho de habilitação de hardware e outras mudanças para esta versão do kernel do final do ano de 2022, que também provavelmente será a próxima versão do Linux LTS.
Entre os principais destaques do Linux 6.1 estão a fusão da infraestrutura Rust inicial, MGLRU, vários novos recursos de CPU AMD, desde a adição do Platform Management Framework (PMF) a novos recursos de desempenho, compartilhamento de arquivos mais rápido entre hosts Linux e VMs convidadas usando 9P, o Kernel Memory Sanitizer (KMSAN) foi mesclado, alertando por padrão sobre mapeamentos W+X, preparações para WiFi 7 e 802.11be no lado da rede, novo trabalho de driver de GPU de código aberto e muito mais.
Além de todas as emocionantes mudanças de recursos, o Linux 6.1 também é notável por ser provavelmente a versão do kernel Linux 2022 LTS a ser suportada a longo prazo.
Processadores:
-O O código IBM POWER/PowerPC tem KFENCE para 64 bits, wrappers de chamadas do sistema e suporte a memória somente de execução.
-A porta da CPU LoongArch traz retrabalho de código TLB/cache, suporte QSpinLock, inicialização EFI, suporte para eventos perf, manipulação Kexec, suporte eBPF JIT e vários outros recursos para esta arquitetura de CPU chinesa.
-Linux 6.1 está eliminando o suporte BF16 para processadores Cortex-A510 devido a um problema de hardware que não pode ser contornado no Linux.
-A tabela de páginas AMD IOMMU v2 funciona como parte da virtualização IOMMU assistida por hardware AMD vIOMMU para EPYC 7002 processadores”Rome”e mais recentes.
-Relatório de memória e cache-a-cache da CPU AMD com processadores AMD perf e mais recentes e suporte LbrExtV2 para CPUs Zen 4.
-A AMD O Platform Management Framework (PMF) foi mesclado para melhor manuseio térmico/energia/ruído com dispositivos AMD Ryzen de próxima geração.
-Suporte para novos SoCs Arm e vários novos dispositivos Arm.
-Decodificação de erros de memória Intel mais rápida.
-Correções AMD P-State e correções s2idle para laptops AMD Rembrandt.
-Suporte de braço para desabilitar a mitigação Spectre-BHB em tempo de execução devido ao alto custo de desempenho.
Gráficos/GPUs:
-Ativação contínua do Intel Meteor Lake.
-Manuseio aprimorado do firmware da GPU Intel.
-Várias melhorias no Intel Arc Graphics DG2/Alchemist.
-Suporte de envio de gangue AMDGPU que é necessário para o driver RADV Vulkan para suporte adequado ao sombreador de malha.
-Suporte de redefinição do Mode2 para GPUs RDNA2 da série RX 6000.
-Trabalho de ativação contínuo em torno de GPUs AMD RDNA3.
Armazenamento Linux/Sistemas de arquivos:
-RISC A configuração de kernel padrão do-V permite vários formatos de imagem de CD-ROM. Não é provável que você tenha uma unidade de CD física com seu sistema RISC-V, mas para instalar imagens e outras mídias nos formatos de sistema de arquivos ISO9600/Joliet/ZISOFS.
-Suporte a domínio compartilhado baseado em FSCache para EROFS com casos de uso de contêiner sendo o alvo inicial.
-Correções de EXT4 e otimizações de desempenho.
-Otimizações significativas de desempenho de Btrfs e outros trabalhos para esse sistema de arquivos Linux cada vez mais usado.
-Suporte para statx() para relatar detalhes de alinhamento direto de E/S.
Outro hardware Linux:
-Detecção automática de suporte a rolagem de alta resolução Logitech HID++ e tentando habilitar o HID++ para todos os dispositivos Bluetooth da Logitech.
-Adições notáveis de suporte de som com AMD Rembrandt adicionado ao código Sound Open Firmware, novo suporte ao coprocessador de áudio AMD”Pink Sardine”e o novo Apple Driver MCA SoC para suporte de som em novos dispositivos Apple Silicon.
-Preparações para Wi-Fi Extremely High Throughput (EHT) e Multi-Link Operation (MLO) para Wi Fi 802.11be e WiFi 7.
-Continuação da habilitação Intel Habana Labs Gaudi2 para esse acelerador de IA de última geração.
-Um driver de entrada para o IBM Operation Panel.
-Um driver de caixa de teclado PinePhone (Pro) PINE64 para entrada no Linux foi adicionado.
-Muitas outras melhorias no laptop Linux.
-Suporte Intel Meteor Lake Thunderbolt.
p>
-Suporte de controle de fluxo de ponta a ponta USB4 com o driver de rede Thunderbolt do kernel Linux.
-Melhor manuseio para controladores Nintendo”clone baratos”.
-Novo drivers de mídia e dois drivers existentes foram removidos do teste.
-Várias adições de drivers de monitoramento de hardware.
Virtualização:
-Xen agora suporta VirtIO baseado em concessão para x86_64.
-Suporte a”apagamento seguro”do bloco VirtIO, bem como suporte ao provisionamento de recursos vDPA.
-Compartilhamento de arquivos mais rápido entre o host e as VMs convidadas para aqueles que usam o 9P protocolo graças a uma significativa otimização 9P VirtIO.
Segurança Linux:
-O Kernel Memory Sanitizer foi mesclado como um detector dinâmico de erros de memória em torno de valores não inicializados no código do kernel. Este KMSAN depende da instrumentação do compilador atualmente encontrada com o LLVM Clang.
-O Linux 6.1 avisará por padrão sobre os mapeamentos de kernel W+X e em uma versão futura do kernel poderá proibir que tais mapeamentos sejam criados em primeiro lugar.
-EFI trabalha em torno de computação confidencial.
-Retpolines reforçados para garantir um INT3 após cada salto incondicional.
-O SELinux continua a descontinuar o suporte para desabilitação em tempo de execução.
-Melhorias no código RNG e criptográfico.
Avisos de tempo de execução para memcpy() de campo cruzado que teriam detectado todos os estouros de buffer baseados em memcpy nos últimos anos para o kernel.
Outras alterações do kernel Linux:
-Mais limpezas de código antes de PREEMPT_RT. O trabalho em tempo real/PREEMPT_RT ainda não está alinhado e ainda é retido pelo retrabalho de impressão.
-Melhorias no manuseio de informações de perda de pressão (PSI), incluindo a capacidade de ativar/desativar dados PSI em um nível por cgroup.
-Suporte genérico de inicialização compactada EFI.
-Remoção do driver serial/TTY de alta velocidade sobre IEEE-1394 Firewire.
-Linux 6.1 terminando de limpar o antigo código a.out.
-O antigo código de rede DECnet foi removido.
-MGLRU foi mesclado para revisar o código de recuperação de página do kernel Linux e levando a uma melhor experiência do usuário, especialmente para sistemas Linux com capacidades limitadas de RAM. Os resultados do benchmark parecem promissores e esse recurso já foi corrigido no Chrome OS e nos dispositivos Android.
-O Maple Tree foi mantido como uma nova estrutura de dados do kernel com possíveis benefícios de desempenho.
-Linux 6.1 imprimirá o núcleo da CPU onde ocorre uma falha de segmentação. Se os administradores do sistema Linux encontrarem que as falhas de seg continuam acontecendo nas mesmas CPUs/núcleos, pode ser um sinal de um processador defeituoso.
-A infraestrutura inicial do Rust foi mesclada como o suporte inicial à linguagem de programação Rust. Ao longo de futuros ciclos do kernel, novos drivers Rust e outras abstrações do subsistema do kernel serão mescladas.
Agora, para começar a ativar os benchmarks do kernel Linux 6.1…