Linux FAT 文件系统预读缺陷:补丁提升 7 倍性能
扫描二维码
随时随地手机看文章
Linux 内核现在已经增加了对 exFAT 的支持,同时它也没有放弃维护原有 FAT 文件系统驱动,甚至现在从邮件列表上看,FAT 性能方面可能会有大幅提升。
开发 Tux3 文件系统而闻名的 OGAWA Hirofumi 在邮件列表中提到了目前 Linux FAT 文件系统的预读取处理有瑕疵:“FAT 条目的当前预读非常简单,但是有一些缺陷,因此在某些环境下效果不佳。这个补丁或多或少可以提高预读能力。”
补丁改进的关键点在于:
通过 bdi->a_pages 使预读大小可调
关注 bdi->io_pages 以避免小型 I/O 请求
在完全耗尽之前更新预读窗口
OGAWA Hirofumi 测试结果表明,使用此补丁,在慢速 USB 连接的 2TB 硬盘上,此前需要 383 秒才能完成的传输测试现在只需 51 秒即可完成。
具体补丁代码可以查看:[PATCH resend] fat: Improve the readahead for FAT entries