Linux FAT 文件系統(tǒng)預讀缺陷:補丁提升 7 倍性能
Linux 內(nèi)核現(xiàn)在已經(jīng)增加了對 exFAT 的支持,同時它也沒有放棄維護原有 FAT 文件系統(tǒng)驅(qū)動,甚至現(xiàn)在從郵件列表上看,F(xiàn)AT 性能方面可能會有大幅提升。
開發(fā) Tux3 文件系統(tǒng)而聞名的 OGAWA Hirofumi 在郵件列表中提到了目前 Linux FAT 文件系統(tǒng)的預讀取處理有瑕疵:“FAT 條目的當前預讀非常簡單,但是有一些缺陷,因此在某些環(huán)境下效果不佳。這個補丁或多或少可以提高預讀能力?!?/p>
補丁改進的關(guān)鍵點在于:
通過 bdi->a_pages 使預讀大小可調(diào)
關(guān)注 bdi->io_pages 以避免小型 I/O 請求
在完全耗盡之前更新預讀窗口
OGAWA Hirofumi 測試結(jié)果表明,使用此補丁,在慢速 USB 連接的 2TB 硬盤上,此前需要 383 秒才能完成的傳輸測試現(xiàn)在只需 51 秒即可完成。
具體補丁代碼可以查看:[PATCH resend] fat: Improve the readahead for FAT entries





