Linux 6.7 já foi lançado e essas são suas novidades

Tux, o mascote do Kernel Linux

O kernel do Linux é a espinha dorsal dos sistemas operacionais (SO) Linux e é a interface fundamental entre o hardware de um computador e seus processos.

Faz pouco Linus Torvalds revelou o lançamento da nova versão do kernel Linux 6.7, que é apresentado após dois meses de desenvolvimento e entre as mudanças mais notáveis ​​​​está a integração do sistema de arquivos Bcachefs, a descontinuação do suporte à arquitetura Itanium, a capacidade do Nouveau de trabalhar com firmware GSP-R, suporte para criptografia TLS em NVMe-TCP, capacidade de usar exceções em BPF, entre outras coisas.

A nova versão do kernel Linux 6.7 É composto por 15291 correções e aproximadamente 45% de todas as alterações introduzidas estão relacionadas a drivers de dispositivos, 14% das alterações estão relacionadas à atualização de código específico para arquiteturas de hardware, 13% estão relacionadas à pilha de rede, 5% estão relacionadas a sistemas de arquivos e 3% estão relacionadas a subsistemas internos do kernel.

O tamanho do patch é de 72 MB (as alterações afetaram 13.467 arquivos, 906.147 linhas de código foram adicionadas e 341.048 linhas foram removidas).

Principais novidades do Linux Kernel 6.7

Integração do sistema de arquivos Bcachefs

O Linux 6.7 adota o código do sistema de arquivos Bcachefs, que tenta alcançar o desempenho, a confiabilidade e a escalabilidade do XFS, combinado com elementos de funcionalidade avançada encontrados no Btrfs e ZFS.

Bcachefs suporta recursos como inclusão de vários dispositivos em uma partição, designs de unidades multicamadas (a camada inferior com dados usados ​​com frequência baseados em SSDs rápidos e a camada superior com dados de discos rígidos menos usados), replicação (RAID 1/10), cache, compactação transparente de dados (modos LZ4, gzip e ZSTD), cortes de estado, verificação de integridade usando somas de verificação, capacidade de armazenar códigos de correção de erros Reed-Solomon (RAID 5/6), armazenamento de informações em formato criptografado (ChaCha20 e Poly1305 são usados) . Em termos de desempenho, o Bcachefs está à frente do Btrfs e outros sistemas de arquivos baseado no mecanismo copy-on-write e demonstra uma velocidade operacional próxima ao Ext4 e XFS.

Melhorias no Btrfs

No Linux 6.7 Um modo de cota simplificado foi implementado para Btrfs que permite um melhor desempenho rastreando extensões apenas na subpartição em que são criadas, o que simplifica muito os cálculos e melhora o desempenho, mas não permite que extensões sejam compartilhadas entre múltiplas subpartições. Além disso, uma nova estrutura de dados em árvore de distribuição foi adicionada ao Btrfs, adequada para mapeamento de extensão lógica em situações onde o mapeamento físico não corresponde entre dispositivos. A malha é usada atualmente em implementações RAID0 e RAID1 para dispositivos de bloco zoneados.

Descontinuação do suporte à arquitetura Itanium (ia64)

O suporte para a arquitetura ia64 usada nos processadores Intel Itanium, o que énós completamente suspensos em 2021. A Intel introduziu os processadores Itanium em 2001, mas a arquitetura ia64 não conseguiu competir com o AMD64, principalmente devido ao maior desempenho do AMD64 e à transição mais suave dos processadores x86 de 32 bits.  Linus Torvalds expressou sua vontade de retribuir o apoio ia64 para o kernel, mas simsomente se houver um mantenedor que possa demonstrar suporte de alta qualidade para esta plataforma fora do kernel principal por pelo menos um ano.

Migração contínua de alterações da ramificação Rust-for-Linux

A nova versão faz a transição para a versão Rust 1.73 e oferece um conjunto de ganchos para trabalhar com filas de trabalho.

Melhorias na implementação de filas FIFO 

Nesta nova versão do Linux 6.7 o implementação de um mecanismo FIFO leve conexões únicas que requerem um spinlock apenas para retirada da fila em um contexto de processo e dispensam-no para adições atômicas à fila em qualquer contexto. Além disso, um buffer circular objpool foi adicionado com uma implementação escalonável de uma fila de alto desempenho para alocar e retornar objetos.

Suporte de criptografia TLS para NVMe-TCP

No Linux 6.7 o driver NVMe-TCP (que permite acessar unidades NVMe pela rede), Adicionado suporte para criptografia do canal de transmissão de dados usando TLS (usando KTLS e um processo em segundo plano) no espaço do usuário tlshd para negociação de conexão.

Melhor desempenho do agendador de pacotes

Desempenho otimizado do agendador de pacotes fq, o que permitiu aumentar o desempenho em 5% sob cargas pesadas no teste tcp_rr (Solicitação/Resposta TCP) e em 13% com fluxo ilimitado de pacotes UDP.

Adoção da opção de autenticação TCP

Foi adicionado suporte à pilha TCP para a extensão TCP-AO que permite verificar cabeçalhos TCP usando códigos MAC, usando algoritmos HMAC-SHA1 e CMAC-AES-128 mais modernos em vez da opção TCP-MD5 anteriormente disponível baseada no algoritmo Legacy MD5 .

Do outras mudanças que se destacam:

  • Novas configurações foram adicionadas «cpuset.cpus.exclusive" e "cpuset.cpus.exclusive. Eficaz» para cpuset para ligação exclusiva da CPU.
  • O subsistema BPF implementa suporte para exceções, que são processadas como uma saída de emergência de um programa BPF com a capacidade de desenrolar quadros de pilha com segurança. Além disso, os programas BPF permitem o uso de ponteiros kptr em conexão com a CPU.
  • Para arquiteturas ARM32 e S390x, foi adicionado suporte para o conjunto atual (cpuv4) de instruções BPF.
  • Para a arquitetura RISC-V, é possível usar o modo de verificação Shadow-Call Stack disponível no Clang 17, projetado para proteger contra a substituição do endereço de retorno de uma função em caso de estouro de buffer na pilha.
  • Um novo modo inteligente de digitalização de páginas de memória foi adicionado ao mecanismo para mesclar páginas de memória idênticas (
  • O AppArmor adicionou a capacidade de controlar o acesso ao mecanismo io_uring e criar namespaces de usuário, permitindo permitir seletivamente o acesso a esses recursos apenas para determinados processos.
  • Adicionada API de certificação de VM para verificar a integridade do processo de inicialização da VM.
  • Os sistemas LoongArch suportam virtualização usando o hipervisor KVM.
  • Adicionado suporte inicial para firmware GSP-RM ao módulo do kernel Nouveau, que é usado na GPU NVIDIA RTX 20+ para mover operações de inicialização e controle da GPU para o lado de um microcontrolador GSP

finalmente se você está interessado em saber mais sobre o assunto, você pode verificar os detalhes no link a seguir.