Nvidia acelera Kernel Linux 7.0 com novo patch para FUSE

O engenheiro Jim Harris, da Nvidia, enviou recentemente um patch para a lista de discussão oficial do Kernel que visa otimizar o subsistema FUSE (Filesystem in Userspace). A proposta foca em eliminar uma operação redundante de “lookup” durante a abertura atômica de arquivos quando a flag de criação (O_CREAT) está ativada. A mudança impacta diretamente o desempenho de sistemas de arquivos que rodam em espaço de usuário, reduzindo o tráfego entre o kernel e o servidor FUSE no Kernel Linux 7.0-rc1.
O que isso significa na prática
Sistemas de arquivos FUSE são amplamente utilizados em ambientes de nuvem, armazenamento em rede e sistemas de arquivos virtuais. Atualmente, quando um programa tenta criar um novo arquivo, o Kernel Linux realiza uma busca (lookup) para verificar se o arquivo já existe antes de dar o comando de criação.
O patch da Nvidia argumenta que, ao usar a instrução de criação, essa busca inicial é desnecessária e gera uma “viagem de ida e volta” (round-trip) extra entre o kernel e o driver do sistema de arquivos. Ao remover essa etapa, a criação de arquivos torna-se mais rápida e eficiente, o que é especialmente perceptível em sistemas de alta escala ou com latência de rede.
Vale lembrar que o FUSE é a tecnologia que permite implementar sistemas de arquivos no espaço do usuário sem mexer no núcleo do sistema. Como já explicamos em detalhes aqui no SempreUpdate, ele funciona como uma ponte essencial para recursos de criptografia, nuvem e armazenamento remoto.
Detalhes da implementação
A modificação ocorre no subsistema FUSE, especificamente no arquivo fs/fuse/dir.c. O patch altera a lógica da função fuse_atomic_open. Na implementação atual, o kernel executa fuse_lookup independentemente de o arquivo estar sendo criado ou apenas aberto.
A proposta de Harris reestrutura o fluxo para que, se a flag O_CREAT estiver presente, o código pule a fase de consulta e siga diretamente para a lógica de criação e abertura. Tecnicamente, isso evita a alocação e o processamento de uma operação FUSE que, no contexto de criação, não traz benefícios práticos ao estado do sistema de arquivos.
| Operação | Comportamento Atual | Com o Patch (Nvidia) |
Chamada open com O_CREAT | Lookup + Create/Open | Apenas Create/Open |
| Latência de rede | 2 Round-trips | 1 Round-trip |
| Impacto no servidor FUSE | Processa duas requisições | Processa uma requisição |
Curiosidades e bastidores da discussão
A recepção na LKML não foi de aceitação imediata, revelando uma “fofoca técnica” interessante sobre a segurança do kernel. Miklos Szeredi, o mantenedor do subsistema FUSE, levantou uma preocupação crítica: a permissão de acesso. Ele explicou que ignorar o lookup e definir diretamente o estado como “criado” (FMODE_CREATED) pode fazer com que o kernel pule verificações de permissão essenciais em arquivos que já existem.
Além disso, outros desenvolvedores, como Bernd Schubert, alertaram que alguns servidores FUSE legados podem “quebrar” se não receberem o lookup antes do open, pois utilizam essa etapa para preparar identificadores internos (node-ids). A discussão agora caminha para uma solução mais complexa: em vez de apenas pular o lookup, o subsistema pode ganhar uma nova operação atômica composta que faz tudo de uma vez, garantindo performance sem sacrificar a segurança.
Quando isso chega no meu PC?
A proposta está em fase de refinamento dentro do ciclo do Kernel Linux 7.0-rc1. Caso a comunidade chegue a um consenso sobre a implementação da operação composta sugerida pelos mantenedores, o código deve ser estabilizado nas próximas semanas.
Considerando o ciclo tradicional de lançamentos, a versão estável do Kernel Linux 7.0 é esperada para meados do segundo trimestre de 2026. Usuários de distribuições rolling release, como Arch Linux, devem receber a novidade pouco após o lançamento oficial, enquanto usuários de Ubuntu ou Fedora a verão nas versões de final de ano.




