Um desenvolvedor do kernel enviou um patch que, no teste prático, a Transferência no sistema de arquivos FAT caiu de 383 para 51 segundos. Confira!
Recentemente, Linus Torvalds lançou o kernel Linux 5.7-rc1 depois de fechar sua janela de mesclagem, para inicar o desenvolvimento da nova série do kernel.
Mas dias antes disso, o OGAWA Hirofumi, desenvolvedor do kernel, enviou um patch para melhorar a velocidade da transferência de arquivos no sistema de arquivos FAT.
Transferência no sistema de arquivos FAT caiu de 383 para 51 segundos
O código de correção visa melhorar o desempenho do readahead do código do sistema de arquivos FAT para Linux.
Se você não souber, readahead é uma chamada de sistema do kernel Linux que pré-busca os dados e os carrega no cache da página. Dessa forma, a transferência de arquivos acelera à medida que os dados são lidos da memória física e não do disco.
Anteriormente, aconteceu o alinhamento de melhorias no driver de disquete e no código do driver exFAT (substituição moderna do FAT) para o kernel Linux 5.7. Desta vez, o kernel do Linux está adicionando código novo e aprimorado ao antigo sistema de arquivos FAT16/FAT32.
A maioria dos dispositivos modernos suporta FAT estendido (exFAT), mas alguns ainda usam FAT; por exemplo, câmeras digitais ou partições EFI. Mas o readahead atual para entradas do FAT tem algumas falhas que reduzem sua velocidade de transferência de arquivos.
Portanto, o novo código torna o readahead do FAT ajustável e atualiza a janela do readahead antes de esgotá-lo. Além disso, as novas alterações também evitam solicitações de E/S de tamanho pequeno para melhorar o desempenho geral da transferência de arquivos.
Para provar isso praticamente, Hyeongseok Kim revisou e testou o patch em uma unidade de disco rígido lenta de 2 TB conectada a USB.
E os resultados mostraram uma diminuição no tempo de transferência de arquivos dos 383,18 segundos anteriores para os novos 51,03 segundos.
Você pode verificar o código de correção encontrado na lista de discussão. Embora seja tarde demais para incluir no Linux 5.7, podemos esperar que ele seja introduzido no kernel 5.8.
- Como instalar o driver para o controle do Xbox no Ubuntu
- Como instalar o NeoGeo Pocket Emulator no Linux via Snap
- Como instalar o jogo Space Station 14 no Linux via Flatpak
- Como habilitar o repositório Games no openSUSE