Linux 6.12 chega com suporte RT, mecanismo sched_ext, melhorias de suporte e muito mais

Tux, o mascote do Kernel Linux

Após dois meses de desenvolvimento, Linus Torvalds anunciou o lançamento do kernel Linux 6.12, versão em que Destaca-se a possibilidade de ativar o modo em tempo real, a adição de sched_ext para permitir a criação de escalonadores de CPU usando eBPF e um mecanismo que gera códigos QR em situações críticas.

Linux 6.12 inclui um total de 14,607 correções feitas, eles foram adicionados mais de 507,913 linhas de código e eliminando 234,083. Embora o patch seja menor em comparação com as versões anteriores, ele representa uma otimização sem precedentes.

Principais novidades do Linux 6.12

O kernel Linux agora pode ser construído com a opção PREEMPT_RT iintegrado, eliminando a necessidade de patches externos para operação em tempo real. Isto foi conseguido incluindo suporte na função printk. PREEMPT_RT e é disponível em arquiteturas como x86, x86_64, ARM64 e RISC-V.

Na compilação, o O suporte para o compilador Clang foi estendido para a biblioteca padrão nolibc, permitindo otimizações como otimização de tempo de link (LTO). Também é adicionou um sistema de rastreamento de anel, que retém informações de depuração na memória após reinicializações, facilitando a análise pós-falha.

Na parte de Rust-for-Linux, continua avançando com novos módulos como list e rbtree para listas vinculadas e árvore rubro-negra. Além disso, o suporte foi ampliado em áreas-chave como inicialização, sincronização e tratamento de erros. É possível compilar o kernel com Rust mantendo proteções avançadas como Spectre e depuração com KASAN ou kCFI. Além disso, um driver Ethernet PHY escrito em Rust foi integrado.

Outra novidade O que chama a atenção nesta nova versão do Linux Kernel 6.12 é a introdução do mecanismo sched_ext (SCX), que permite usar o eBPF para criar agendadores de CPU personalizados. Com o SCX, os desenvolvedores podem projetar agendadores dinâmicos que otimizam a execução de tarefas com base no estado do sistema e nas necessidades específicas do aplicativo, facilitando a experimentação e implementação de estratégias em ambientes de produção.

Também A integração do servidor SCHED_DEADLINE foi concluída, uma solução mais eficiente para evitar a monopolização da CPU por tarefas de alta prioridade, melhorando a alocação de recursos para tarefas de baixa prioridade. Além disso, o agendador CFS foi substituído pelo novo EEVDF (Earliest Eligible Virtual Deadline First), que aloca recursos do processador de forma mais justa e elimina a necessidade de ajustes manuais, reduzindo atrasos em tarefas críticas.

O controlador Pânico DRM, responsável por lidar com emergências no kernel, agora você pode exibir um relatório visual com logotipos e códigos QR incluindo dados de diagnóstico compactados. Esses códigos QR facilitam a análise de falhas, permitindo que os usuários sejam redirecionados para páginas configuradas pelas distribuições para reportar problemas.

Em relação a ARM, suporte adicionado para extensão POE (Extensão de sobreposição de permissão), que ativa mecanismos como chaves de proteção de memória para restringir o acesso a áreas específicas da memória sem a necessidade de modificar tabelas de páginas. Além disso, a otimização da chamada do sistema getrandom() usando vDSO aumentou a velocidade de geração de números aleatórios em até 15 vezes nas arquiteturas Loongarch, ARM64, PowerPC e s390.

Un novo driver USB permite usar o protocolo 9pfs para transferir dados entre dispositivos USB montando sistemas de arquivos 9p. Isto é particularmente útil em dispositivos embarcados, fornecendo uma alternativa eficiente ao NFS para inicializar partições raiz.

O subsistema io_uring adicionou suporte para tempos limite absolutos, ativado em horários específicos com base no relógio do sistema. Isso melhora o controle sobre as operações assíncronas, proporcionando maior precisão na sua execução.

para a biblioteca libcpupower, inclui arquivos de geração de link usando SWIG, que permite o uso de linguagens como Python para estender sua funcionalidade. Além disso, o utilitário cpuidle foi aprimorado, que agora pode medir o tempo mínimo de inatividade necessário para justificar os custos de energia de transição.

Na área de redes, um As melhorias mais notáveis ​​são o mecanismo TCP para memória do dispositivo, que permite transferências diretas de dados entre a memória dos dispositivos periféricos e a rede sem passar pela CPU, alcançando notável eficiência. Além disso, os recursos de vários controladores Ethernet e WiFi, como o iwlwifi da Intel e o rtw89 da RealTek, foram expandidos com suporte adicional para chips WiFi 6 e padrões IEEE avançados. Para o IPv6, foram introduzidas novas funcionalidades para otimizar a alocação de endereços usando DHCPv6-PD, enquanto o MPTCP recebeu melhorias no roteamento e na detecção de perda de tráfego.

No suporte de hardware, Adicionado suporte contínuo para AMD RDNA4 no driver AMDGPU e melhorias no driver Xe DRM para GPUs Intel Xe. Também foi adicionado o Suporte para processadores Xeon Granite Rapids e novas plataformas ARM, incluindo o SoC Snapdragon X Elite.

Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir