在 Linux 6.3 內核可能於週日發布穩定版之前,今天提交了 Btrfs 文件系統驅動程序的最後兩個補丁,以解決自 Linux 6.2 以來的一個緊迫問題。
適用於 Linux 6.3 的 Btrfs 正在最後一刻解決異步丟棄問題,該問題自 Linux 6.2 以來默認啟用。默認的異步丟棄行為具有較低的 IOPS 限制,並且處理大量丟棄將花費很長時間並浪費電力/磁盤活動。
本月早些時候,Boris Burkov 發送了 Btrfs 補丁,解釋:
“自從 discard=async 成為 6.2 內核中 btrfs 的隱式默認值以來,有很多人抱怨 discard 在工作站系統上過於分散。這導致用戶驅動器在意外的長時間內沒有空閒等情況。
這是由相對較低的默認 iops 限制 10 引起的,因此本系列將默認限制提高到 1000(1 毫秒延遲)並修改了一個奇怪的回退limit=0 的行為被解釋為無限制。
…
以前,默認值是相對保守的 10。這會導致 100 毫秒的延遲,因此在一次提交中有大約 300 次丟棄,它需要全部下一次提交完成丟棄前 30 秒。在工作站上,這會導致磁盤永遠不會閒置,浪費電量/電池等。將默認值設置為 1000,這會導致使用可能的最小延遲,目前為 1 毫秒。原始報告者已經證明這不會在病態上讓磁盤忙碌。”
Btrfs 的變化應該很快就會出現在 Linux 6.3 Git 中,並且可能會被 Linux 6.2 作為一個穩定的修復程序採用。