Com a janela de mesclagem do Linux 5.19 completa, aqui está minha visão usual de todas as mudanças interessantes que eu estive esperando por esta próxima versão do kernel Linux. O Linux 5.19 é uma grande atualização de verão para este kernel de código aberto, com muitos recursos novos e aprimorados chegando para este kernel que será lançado como estável no final de julho.
Linux 5.19 recebe o LoongArch inicial, mas atualmente incompleto Suporte à CPU, suporte à compactação Zstd para arquivos de firmware, correções há muito aguardadas para o driver do kernel NTFS3, preparações contínuas da CPU AMD Zen 4, mais trabalho de ativação da GPU AMD RDNA3, ativação contínua de gráficos discretos Intel DG2/Alchemist (incluindo suporte de computação DG2!), criação adequada de arquivos/relatórios de hora de nascimento para sistemas de arquivos FAT32 Suporte ao controlador Apple M1 NVMe, suporte a Big TCP para lidar com sobrecarga de pilha TCP/IP em redes de 200 Gbit e maiores, suporte a Extensão de matriz escalonável Armv9, Intel IFS, Intel TDX e AMD A SEV-SNP também foi finalmente incorporada. Essa é a lista curta, o restante do artigo se aprofunda nas grandes mudanças que vêm com o Linux 5.19.
Processadores/Plataformas:
-Intel In-Field Scan (IFS) é mesclado para facilitar os testes de silício da CPU antes das implantações no data center ou testes de silício ao longo do tempo para ajudar a detectar quaisquer problemas de hardware não descobertos por verificações de ECC ou outros testes existentes.
-LoongArch foi mesclado como uma nova CPU porta para o kernel Linux. No entanto, como observado, ainda não há suporte para inicializar nenhum sistema LoongArch devido a alguns drivers ainda não estarem prontos para o mainlining.
-Suporte para a placa FPGA PolarBerry RISC-V que faz uso do PolarFire SoC.
-Suporte para execução de binários de 32 bits (RV32) em RISC-V de 64 bits (RV64).
-Concluindo o esforço multiplataforma de 12 anos do Arm com a conversão finalmente do antigo código ARMv4T/ARMv5 para compilações de kernel multiplataforma. Seguido uo mais tarde na janela de mesclagem também com suporte multiplataforma Arm completo para hardware Intel XScale/PXA antigo.
-O HPE GXP SoC é adicionado com o HPE GXP SoC para ser usado para o controlador de gerenciamento de placa de base ( BMC) nos próximos servidores HPE.
-Suporte ARMv9 Scalable Matrix Extension. Scalable Matrix Extension (SME) é construído sobre SVE/SVE2.
-As mudanças de desempenho são pesadas no lado da AMD com extensões Zen 4 IBS, AMD PerfMonV2 e, finalmente, com AMD Zen 3 Branch Sampling (BRS).
-Remoção da antiga arquitetura de CPU Renesas H8/300. A arquitetura é antiga e não é mantida no kernel há anos, já foi descartada uma vez antes da linha principal.
-Remoção do suporte obsoleto x86 a.out.
-Muitos recursos da Intel gerenciamento e atualizações térmicas–incluindo uma correção para lidar com laptops Linux quentes que consomem a bateria enquanto tentam dormir.
-Limpeza mais fácil dos recursos CPUID.
-Carregamento tardio de microcódigo para x86/x86_64 desabilitado por padrão e manchará o kernel. Recomenda-se que os usuários carreguem antecipadamente o microcódigo da CPU.
Virtualização:
-O AMD SEV-SNP foi finalmente implementado para essa atualização para a Virtualização criptografada segura (SEV ) introduzido com os processadores AMD EPYC 7003″Milan”.
-Intel Trust Domain Extensions (TDX) foi mesclado com o código inicial pronto.
-Suporte para XSAVEC quando executado como um Convidado de VM.
-A Microsoft reduziu os tempos de inicialização de convidados do Hyper-V para grandes VMs do Azure com muitas GPUs.
-Suporte para EFO do Linux para acessar segredos de VM para computação confidencial (CoCo) hypervisors como AMD SEV.
-Atualizações KVM e Xen.
-Um novo destino de máquina virtual m68k para uso de virtualização baseado no Goldfish do Google e muito mais capaz do que a Motorola existente 68.000 opções de emulação.
Gráficos/Display:
-Quase meio milhão de linhas de código novo!
-Muitas novo trabalho de ativação de bloco de IP para gráficos AMD RDNA3 lançado ainda este ano, juntamente com o CD de última geração Aceleradores NA Instinct.
-Intel DG2/Alchemist PCI IDs para designs de”placa-mãe inativa”.
-Suporte a gráficos Intel Raptor Lake P, com base nos caminhos de código existentes.
>
-A ABI do mecanismo de computação agora está exposta para hardware DG2/Alchemist.
-Uma peculiaridade de energia para GPUs DG2/Alchemist para garantir que o gerenciamento de energia de estado ativo PCIe (ASPM) seja habilitado com sucesso.
-Suporte do driver ASpeed AST para DisplayPort.
-Suporte Rockchip VOP2.
-Suporte para uma nova variante RDNA2″Beige Goby”de nível básico.
-Suporte MediaTek Vcodec para codecs VP8 e VP9 sem estado.
Sistemas de arquivos/armazenamento:
-Várias melhorias notáveis no sistema de arquivos Btrfs do suporte a subpáginas para qualquer PAGE_SIZE maior que 4K para suporte de subpágina para modos RAID 5/6 nativos Btrfs para outras adições.
-Suporte ao controlador Apple M1 NVMe.
-Muitos códigos novos para o sistema de arquivos XFS.
-Relatório de criação/hora de nascimento do arquivo FAT16/FAT32 por meio da chamada do sistema statx.
-Correções de driver de kernel NTFS3 foram mescladas para finalmente resolver alguns problemas de manutenção com este driver de kernel NTFS contribuído para o kernel no ano passado pela Paragon Software.
-Vários aprimoramentos F2FS e atualizações de rotina para EROFS e EXT4.
-Suporte NFSv3 Courteous Server.
-Suporte eMMC para usar TRIM para zerar setores.
-Suporte para camadas IDMAPPED com OverlayFS.
>
-Uma grande correção de desempenho para exFAT.
-Muitas melhorias de IO_uring.
Outro hardware:
-Nunca-finalizando o trabalho no driver Synopsys DWC3 USB3.
-O driver Apple eFuses foi mesclado para ler esses eFuses programados em SoCs Apple M1 para armazenar dados de calibração.
-Continuação do trabalho no Driver Intel Habana Labs AI.
-Suporte para iniciar atualizações de firmware via sysfs para uso por placas Intel FPGA PCIe e outros casos de uso possíveis.
-Suporte para relatar o estado físico de um dispositivo conectado local onde exposto, como via ACPI. Isso pode ajudar a observar onde um componente conectado está em relação ao servidor/sistema em casos de várias portas/locais, etc.
-O driver do joystick Raspberry Pi Sense HAT foi mesclado.
-Suporte ao driver Chrome OS EC para o Framework Laptop.
-Ativação contínua do suporte Compute Express Link (CXL) para servidores de última geração.
-Melhor suporte para o Lenovo ThinkPad Teclado Trackpoint II.
-Manuseio adequado de teclados Keychron C-Series/K-Series.
-Melhorias no driver Wacom e outros trabalhos HID.
-Intel’s O driver de áudio AVS começou a aterrissar como uma reescrita para o antigo código de driver de áudio da era Skylake/Kabylake/Apollo Lake/Amber Lake.
-Melhorias contínuas no monitoramento de hardware das adições da placa-mãe ASUS aos dispositivos Aquacomputer.
Segurança:
-Suporte Clang RandStruct para randomização do layout da estrutura e similar ao suporte GCC existente.
-Trabalho de modernização continuado para o código RNG para geração de números aleatórios.
-Os enclaves Intel SGX eram propensos a travar sob forte pressão de memória, mas esse problema para extensões de proteção de software no Linux agora está resolvido.
-Tornando a vida miserável para desenvolvedores de aplicativos que se comportam mal uso de bloqueio dividido.
Outra atividade do kernel:
-Muitas melhorias significativas de rede, desde Big TCP até iluminação LED pureLiFi para comunicação sem fio e muitas outras melhorias.
-Uma nova opção para configurar facilmente um kernel de depuração x86_64.
–Printk agora descarregará mensagens para KThreads por console.
-Muitas melhorias no gerenciamento de memória.
-Um novo subsistema mesclado é o Hardware Timestamping Engine (HTE) para coordenação entre provedores de tempo e consumidores como GPIOs e IRQs. O provedor HTE inicial com Linux 5.19 é apenas para o NVIDIA Tegra Xavier SoC. Embora Linus Torvalds não goste do nome HTE e possa ser alterado ainda neste ciclo ou no próximo.
-Limpeza de primavera para a área de teste, incluindo a promoção do driver WFX WiFi para fora do teste.
-Suporte a firmware compactado Zstd como uma alternativa ao suporte a firmware compactado XZ existente para economizar espaço em disco compactando os muitos arquivos de firmware binários presentes em sistemas Linux modernos.
Agora em alguns Linux 5.19 benchmarking do kernel…