Linux 6.1 chega com Rust, melhorias de desempenho, drivers e muito mais

Linux Kernel

Linux Kernel

Após dois meses de desenvolvimento, Linus Torvalds anunciou o lançamento da nova versão do kernel Linux 6.1, em que entre as mudanças mais notáveis: suporte para o desenvolvimento de drivers e módulos na linguagem Rust, modernização do mecanismo para determinar as páginas de memória usadas, um gerenciador de memória especial para programas BPF, o sistema de diagnóstico de problemas de memória KMSAN, o mecanismo de proteção KCFI (Kernel Control -Flow Integrity), a introdução da árvore de estrutura de bordo.

A nova versão recebeu 15115 correções de 2139 desenvolvedores, o tamanho do patch é de 51 MB, que é cerca de 2 vezes menor que o tamanho dos patches de kernel 6.0 e 5.19.

Principais novidades do Linux 6.1

Nesta nova versão do Kernel que se apresenta, podemos constatar que capacidade adicional de usar Rust como um segundo idioma para desenvolver drivers e módulos de kernel. A principal razão por trás do suporte ao Rust é facilitar a gravação de drivers de dispositivo seguros e de alta qualidade, reduzindo as chances de erros de memória.

O suporte Rust está desabilitado por padrão e não faz com que o Rust seja incluído como uma dependência necessária de compilação do kernel. Até agora, o kernel adotou uma versão de patch mínima simplificada, que foi reduzida de 40 para 13 linhas de código e fornece apenas o mínimo necessário, o suficiente para construir um módulo de kernel simples escrito em Rust.

No futuro, está planejado aumentar gradualmente a funcionalidade existente, portando outras alterações do ramo Rust-for-Linux. Paralelamente, estão sendo desenvolvidos projetos para utilizar a infraestrutura proposta para desenvolver controladores de disco NVMe, o protocolo de rede 9p e a GPU Apple M1 em Rust.

Outra mudança notável está na AArch64, RISC-V e LoongArch com EFI, onde a capacidade de carregar imagens de kernel compactadas diretamente é implementadas, além disso eles adicionaram drivers para carregar, executar e baixar imagens do kernel, chamado diretamente do EFI zboot.

Drivers para instalação e remoção de protocolos do banco de dados de protocolo EFI também foram adicionados. Anteriormente, a descompactação era feita por um bootloader separado, mas agora pode ser feita por um driver no próprio kernel: a imagem do kernel é construída como um aplicativo EFI.

parte dos patches foi adotado com a implementação de um modelo de gerenciamento de memória de vários níveis que permite bancos de memória separados com diferentes características de desempenho. Por exemplo, as páginas usadas com frequência podem ser armazenadas na memória mais rápida, enquanto as páginas usadas com menos frequência podem ser armazenadas na memória relativamente lenta. O kernel 6.1 adota um mecanismo para determinar se as páginas muito usadas estão na memória lenta para movê-las para a memória rápida e implementa o conceito geral de níveis de memória e seu desempenho relativo.

Além disso, também podemos descobrir que adicionado ao subsistema BPF a capacidade de criar programas BPF "destrutivos" projetado especificamente para acionar uma falha por meio da chamada crash_kexec(). Esses programas BPF podem ser necessários para fins de depuração para acionar a criação de um despejo de memória em um determinado momento. O acesso a operações destrutivas ao carregar um programa BPF requer que o sinalizador BPF_F_DESTRUCTIVE seja especificado, sysctl kernel.destructive_bpf_enabled seja definido e os direitos CAP_SYS_BOOT sejam definidos.

tem sido feitoo Otimizações significativas de desempenho no sistema de arquivos BtrfsEntre outras coisas, o desempenho das operações fiemap e lseek aumentou em ordens de magnitude (a verificação de extensões compartilhadas foi acelerada de 2 a 3 vezes e a mudança de posição nos arquivos foi acelerada de 1.3 a 4 vezes). Também, diário de inode acelerado para diretórios (aumento de desempenho de 25% e redução de latência de 21% no dbench), a E/S em buffer foi aprimorada e o consumo de memória foi reduzido.

Ext4 adiciona otimizações de desempenho relacionado ao registro no diário e operação somente leitura, suporte removido para atributos obsoletos noacl e nouser_xattr, também em EROFS (Enhanced Read-Only File System), projetado para uso em partições somente leitura, implementa a possibilidade Conjunto de armazenamento de dados duplicados em arquivo diferente sistemas.

Do outras mudanças que se destacam:

  • Adicionado suporte para subsistemas de áudio implementados nos processadores Apple Silicon, Intel SkyLake e Intel KabyLake.
  • O controlador de áudio HDA ​​CS35L41 suporta o modo de hibernação.
  • Adicionado suporte para controladores AHCI SATA usados ​​no Baikal-T1 SoC.
  • Adicionado suporte para chips Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, conectividade integrada), Realtek RTL8852C, RTW8852AE e RTL8761BUV (Edimax BT-8500).
  • Drivers adicionados para teclado PinePhone, Touchpads InterTouch (ThinkPad P1 G3), X-Box Adaptive Controller, PhoenixRC Flight Controller, VRC-2 Car Controller, DualSense Edge Controller, IBM Operation Panels, XBOX One Elite, XP-PEN Deco Pro S Tablets e Intuos Pro pequena (PTH-460).
  • Adicionado driver para aceleradores criptográficos Aspeed HACE (Hash e Crypto Engine).
  • Adicionado suporte para controladores Intel Meteor Lake Thunderbolt/USB4 integrados.
  • Adicionado suporte para smartphones Sony Xperia 1 IV, Samsung Galaxy E5, E7 e Grand Max, Pine64 Pinephone Pro.
  • ARM SoC compatível com AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 e RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8062 /BL i.MX8MM OSM-S , MT8195 (Acer Tomato), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p. Informações sobre SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom e NXP.

Por fim, se você tiver interesse em saber mais sobre o assunto, pode consultar os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.