O A conferência Kernel Recipes 2022 começou hoje em Paris, França. O início do evento foi o mantenedor do subsistema de bloco Linux e desenvolvedor líder do IO_uring, Jens Axboe, para falar sobre todo o trabalho recente e em andamento em torno desse grande avanço na E/S do Linux nos últimos anos.
IO_uring já provou ser um tremendo sucesso para E/S assíncrona de armazenamento, a Microsoft ofereceu um caminho de E/S semelhante com o Windows 11 e IO_uring continua avançando no kernel da linha principal e expandindo para novas áreas, como rede.
Alguns dos trabalhos recentes de IO_uring incluem mais otimizações, aceitação multi-shot, suporte para cancelamentos, agendamento de conclusão cooperativa, buffers fornecidos em anel, descritores diretos gerenciados e outros aprimoramentos. Muitos desses novos recursos chegaram recentemente para a janela de mesclagem do Linux 5.19.
Fora do kernel, o liburing 2.2 será lançado assim que a biblioteca IO_uring que auxilia no uso do IO_uring nas versões e plataformas do kernel Linux. A nova versão liburing 2.2 tem várias correções de bugs, otimizações e outras adições.
Entre os recursos que estão sendo trabalhados para IO_uring a serem introduzidos em versões futuras do kernel incluem suporte para gravações em buffer assíncronas verdadeiras, mais recursos em torno de IO_uring para casos de uso de rede, buffers fornecidos de consumo incremental, nível suporte a enquetes acionadas, suporte a descarregamento de io-wq e organização de código aprimorada.
As gravações em buffer assíncronas verdadeiras devem estar prontas para Linux 5.20 com pelo menos suporte a sistema de arquivos XFS, enquanto Btrfs e outros podem demorar mais. Na frente de rede, deve gerar melhorias de eficiência e outros aprimoramentos.
Aqueles que desejam saber mais sobre o estado de IO_uring em meados de 2022 podem ver a transmissão ao vivo gravada do Kernel Recipes 2022 de hoje incorporada abaixo. Os slides de Jens podem ser encontrados aqui (PDF).
Também há palestras esta semana no Kernel Recipes 2022 sobre Ftrace, Idmapped mounts, KSPP, HID-BPF, Linux em RISC-V e muito mais. Veja as transmissões ao vivo e mais detalhes em Kernel-Recipes.org.