Yesterday, Linus Torvalds released the 5.7-rc1 Linux kernel after closing the merger window. But a few days ago, OGAWA Hirofumi, a kernel developer, sent an up-to-date code version to improve the file transfer speed in the FAT file system.
The patch code aims to enhance the performance of the FAT file code for Linux. If you don't know, readahead is a Linux kernel system call that pre-installs data and loads them into the page's cache. In this way, file transfer is accelerated as the data is read by physics μνήμη and not from the disk.
Earlier, we mentioned the release of improvements to the floppy driver and driver code exfAT (modern FAT replacement) for the Linux kernel 5.7. This time, the Linux kernel adds a new and improved code to the old FAT16 / FAT32 file system.
Most modern Appliances support extensive FAT (exFAT), but some still use FAT, for example, digital cameras or EFI partitions. But the current readahead for FAT entries has some defects reducing file transfer speeds.
Therefore, the new code makes the FAT readahead in adjustable size and updates the readahead window before it runs out. In addition, the new changes also avoid the small size of I / O requests to improve overall file transfer performance.
To prove it in practice, Hyeongseok Kim reviewed and reviewed the update code on a slow USB 2TB hard drive. And the results showed a reduction of time file transfer from 383.18 seconds to 51.03 seconds.
You can see the patch code here. Although it's too late to be included in Linux 5.7, we hope it will come in kernel 5.8.