繼 Windows ReFS 改進後,Linux 獲得 F2FS、Btrfs、EXT4 性能提升

繼 Windows ReFS 改進後,Linux 獲得 F2FS、Btrfs、EXT4 性能提升

在最近的 Windows 11 Insider 版本中,微軟一直在逐步擴大對 ReFS(彈性文件系統)的支持。第一次注意到是在一月份, Dev build 25281中的一個隱藏功能將允許用戶在 ReFS 卷上安裝 Windows 11。此後,該公司添加了更多基於 ReFS 的功能,例如“Dev Drive”VHD 卷。Microsoft 還在最近的 Canary 通道構建之一中將基礎ReFS 版本更新為 3.10 。

在 Windows 上 ReFS 的使用增長的同時,另一方面,Linux 在其某些文件系統上也取得了一些穩步進展。從最近的一些 Linux 內核補丁來看,一些最流行的 Linux 文件系統、閃存友好文件系統 (F2FS)、B-Tree 文件系統 (Btrfs) 和第四擴展文​​件系統 (EXT4) 似乎正在獲得顯著的性能提升.

例如,Btrfs 在 SATA SSD 上的性能提升了大約 10%。也許在 NVMe 驅動器上的改進甚至可能更高:

始終以 64KiB 塊大小讀取 讀取的實際塊大小從 64KiB 開始,到 512K 結束。即使在最壞的情況下,這也已經產生了更好的性能:

  • 使用補丁集:404.81MiB/s
  • 沒有補丁集:369.30MiB/s

在 SATA SSD 上性能提升約 10%。

轉到 EXT4,有許多優化:

在這個週期中,ext4 中有許多主要的清理工作:

  • data=journal 寫入路徑已得到顯著清理和簡化,並減少了 Jan Kara 的大量 data=journal 特例。
  • Ojaswin Muhoo 已經用多塊分配器中的紅黑樹替換了用於跟踪已用於 inode 預分配的範圍的鍊錶。這提高了執行大量隨機分配寫入的工作負載的性能。
  • 感謝 Kemeng Shi 在多塊分配器中進行了大量清理和錯誤修復。
  • Matthew wilcox 已將用於讀取和寫入 ext4 頁面的代碼路徑轉換為使用 folio。* Jason Yan 繼續將 ext4_fill_super() 分解為更小的函數,以提高維護和理解的便利性。
  • Josh Triplett 為 ext4 用戶空間 API 創建了一個 uapi 頭文件。

最後,這裡是 F2FS 的改進:

增強:

  • 支持分區設備的非二次冪區域大小
  • 刪除在範圍緩存中共享 rb_entry 結構
  • 重構 f2fs_gc 以在緊急情況下調用檢查點 – 支持 iopoll

總的來說,看起來 Linux 內核 6.4 版在性能方面會相當不錯。

來源:LKML (1) , (2) , (3)來自Phoronix

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *