Linux FAT 文件系統預讀缺陷,提升七倍性能補丁(含補丁代碼)

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


分享到:


相關文章: