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