Transferência no sistema de arquivos FAT caiu de 383 para 51 segundos

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

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.

O que está sendo falado no blog

Deixe um comentário

Sair da versão mobile