使用EXT4文件系統的Linux 6.5將擁有更快的並行直接I/O覆寫性能
Ted Ts’o為Linux 6.5的合併窗口提交了有關EXT4的功能變化。EXT4在這一輪升級中帶來了各種清理、錯誤修復和其他增強功能,但有一項性能優化值得關注。EXT4與Linux 6.5合併後,圍繞並行直接I/O(DIO)覆蓋的性能將有很大的改善。Red Hat公司的Brian Foster從事這項優化工作,允許同時進行不對齊的DIO覆蓋,結果看到了更好的性能。
通過FIO這個補丁,他的測試案例從8724 KiB/s提高到1565 MiB/s。
獲取補丁:
Foster在補丁中解釋說:
“我們有報告說,由於ext4中增加了排他性限制,子塊(無對齊)直接寫入的性能明顯下降。對不對齊直接寫入的排他性要求的目的是為了避免iomap dio層中未序列化的部分塊清零在重疊寫入中造成的數據損壞。
XFS由於同樣的基本原因也有類似的要求,但卻沒有像ext4那樣遭受極端的性能退步。原因是XFS利用了IOMAP_DIO_OVERWRITE_ONLY模式,該模式允許主動提交並發的無對齊I/O,並踢回需要部分塊清零的寫操作,以便它們可以在一個安全、排他的上下文中提交。由於ext4已經在提交前執行了大部分這些檢查,它可以支持類似的做法,而不一定要依賴iomap標誌和相關的重試機制。
更新dio寫提交路徑,以允許同時提交不對齊的直接寫操作,這些寫操作是純粹的覆蓋,所以不需要塊清零。”
Linux 6.5的EXT4更新的完整列表可以通過這個拉動請求找到:
https://lore.kernel.org/lkml/ 20230627153618.GA329146@mit.edu /