
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.
Na semana passada Linus Torvalds anunciou a disponibilidade geral de a nova versão de Kernel do Linux 6.8, versão que demorou vários meses e teve alguns atrasos devido a um número de entregas maior do que o habitual. Esta versão inclui vários destaques, como lCompatibilidade com processador Broadcom BCM2712 no Raspberry Pi 5, o Mitigação de banda Wi-Fi RFI baseado em ACPI (WBRF) da AMD, um novo driver gráfico Intel Xe DRM e suporte para fscrypt no CephFS, entre outros.
Um dos o ponto mais significativo é o suporte inicial de Rust para a arquitetura LoongArch e a capacidade do Rust de desenvolver drivers PHY de rede. Embora não seja um lançamento tão grande quanto o Linux 6.7, o Linux 6.8 implementa um grande número de mudanças e melhorias.
Principais novidades do Linux 6.8
Nesta nova versão do Linux 6.8 apresentada, o subsistema O Zswap foi aprimorado com a capacidade de forçar a liberação de páginas de memória fria que não foram acessados e provavelmente permanecerão sem uso, ativando-se em situações de falta de memória RAM. O Zswap opera armazenando em cache as páginas que são despejadas para a partição swap, compactando-as na RAM sempre que possível, em vez de liberá-las descompactadas para o disco. Além do mais, Zswap introduz um novo modo que desativa a gravação na partição swap real se a gravação não for bem-sucedida, evitando também o download de páginas que já estão no pool Zswap na partição swap.
Quanto a agendador de tarefas, o mecanismo do servidor SCHED_DEADLINE foi integrado, que deve aborda o problema de subutilização de recursos da CPU por tarefas regulares quando a CPU é monopolizada por tarefas de alta prioridade (tempo real). Anteriormente, o kernel usava um mecanismo de aceleração em tempo real que reservava 5% da CPU para tarefas de baixa prioridade, deixando 95% para tarefas em tempo real.
Linux 6.8 agora inclui um driver Xe DRM projetado para GPUs baseadas na arquitetura Intel Xe, presente em placas de vídeo da família Intel Arc e em gráficos integrados a partir dos processadores Tiger Lake. Este driver Xe é independente do código que suporta plataformas mais antigas, com foco em fazer com que os novos chips funcionem de maneira ideal. Ele usa uma arquitetura renovada que aproveita melhor o subsistema DRM e os componentes do driver i915 que são genéricos e não vinculados a GPUs específicas.
O controlador Nouveau foi configurado para usar funções de firmware GSP por padrão em GPUs NVIDIA baseadas em Turing e Ampere. Isto implica que as operações de inicialização e controle da GPU são realizadas por um microcontrolador GSP separado, em vez de programar diretamente as operações para interagir com o equipamento.
Por sua vez, o controlador AMDGPU melhorou seu suporte com a inclusão de ACPI WBRF e VPE DPM, mudanças no processamento do canal PCIe, uso de números de sequência de 64 bits em filas de sincronização, adição de mecanismos de gerenciamento de cores específicos da AMD e resolução de problemas relacionados ao modo de suspensão.
Além disso, s foi adicionadosuporte para controladores de jogos NSO (Nintendo Switch Online) como variantes dos antigos controladores SNES, Genesis e N64, adaptados para Nintendo Switch. Um driver para gamepads Adafruit Seesaw também foi adicionado, e o suporte para controladores Lenovo Legion Go foi habilitado no controlador xpad.
Ressalta-se também que sei que um novo modo para bloquear gravação direta para bloquear dispositivos que possuem sistemas de arquivos montados. Quando este modo estiver habilitado, o usuário root não poderá fazer alterações no sistema de arquivos por meio de manipulações no nível do dispositivo de bloco. É importante ressaltar que este modo está desabilitado por padrão e o parâmetro BLK_DEV_WRITE_MOUNTED deve ser especificado durante a montagem para habilitá-lo.
Do outras mudanças que se destacam:
- Adicionada implementação inicial de driver para a GPU Broadcom VideoCore 7.1 usada em placas Raspberry Pi 5.
- Adicionado um driver para GPUs PowerVR série 6 baseados na microarquitetura Rogue da Imagination Technologies.
- Adicionado suporte para controladores Thunderbolt/USB4 integrados em chips baseados na microarquitetura Intel Lunar Lake.
- A AMD fez alterações relacionadas ao suporte para futuras séries de processadores baseados na nova microarquitetura Zen 5.
- As chamadas de sistema listmount() e statmount() foram adicionadas, permitindo que informações detalhadas sobre sistemas de arquivos montados sejam obtidas no espaço do usuário.
- No sistema de arquivos XFS, continua o trabalho na capacidade de usar o utilitário fsck para verificar e corrigir problemas identificados on-line, sem desmontar o sistema de arquivos.
- Ext4 implementou a chamada dioread_nolock para blocos menores que uma página de memória, melhorando o desempenho ao eliminar bloqueios desnecessários.
- O Btrfs adicionou suporte para o sinalizador de montagem “nospace_cache” para desabilitar o cache de bloco livre.
- AppArmor mudou para o algoritmo SHA-256 para verificação de regras, substituindo os hashes SHA-1 anteriores.
- A função strlcpy() incluída no Glibc 2.38 C foi removida do kernel. Esta função é uma alternativa ao strncpy() com proteção contra buffer overflow.
- KVM adicionou suporte para o subsistema guest_memfd (guest memory first), que fornece funções de gerenciamento de memória para organizar a computação confidencial no ambiente convidado.
Por fim, se você tiver interesse em saber mais sobre o assunto, pode consultar os detalhes No link a seguir.