Bevor der Linux-6.3-Kernel möglicherweise am Sonntag als stabil veröffentlicht wird, wurden heute zwei Last-Minute-Patches für den Btrfs-Dateisystemtreiber eingereicht, um ein dringendes Problem seit Linux 6.2 zu beheben.
Btrfs für Linux 6.3 wird in letzter Minute daran gearbeitet, Probleme mit der asynchronen Verwerfung zu beheben, die seit Linux 6.2 standardmäßig aktiviert ist. Das standardmäßige asynchrone Verwerfungsverhalten hatte eine niedrige IOPS-Grenze, und die Verarbeitung eines großen Stapels von Verwerfungen würde lange dauern und Energie/Festplattenaktivität verschwenden.
Boris Burkov hat Anfang dieses Monats die Btrfs-Patches verschickt und erklärt:
“Seit discard=async zum impliziten Standard in btrfs im 6.2-Kernel wurde, gab es zahlreiche Beschwerden darüber, dass das Verwerfen auf Workstation-Systemen zu weit verbreitet ist. Dies führt zu Situationen wie ein Benutzerlaufwerk, das für einen unerwartet langen Zeitraum nicht im Leerlauf ist.
Dies wird durch ein relativ niedriges Standard-IOPS-Limit von 10 verursacht, daher erhöht diese Serie das Standardlimit auf 1000 (1 ms Verzögerung) und modifiziert einen seltsamen Fallback Verhalten für limit=0, um als unbegrenzt interpretiert zu werden.
…
Früher war der Standardwert eine relativ konservative 10. Dies führt zu einer Verzögerung von 100 ms, sodass bei ~300 Verwerfungen in einem Commit die volle Zeit in Anspruch genommen wird 30 s bis zum nächsten Commit, um die Verwerfungen abzuschließen. Auf einer Workstation führt dies dazu, dass die Festplatte niemals in den Leerlauf geht, Strom/Batterie verschwendet usw.Stellen Sie den Standardwert auf 1000 ein, was zur Verwendung der kleinstmöglichen Verzögerung führt, die derzeit 1 ms beträgt. Dies hat gezeigt, dass die Festplatte vom ursprünglichen Berichterstatter nicht pathologisch beschäftigt wird.”
Die Btrfs-Änderung sollte in Kürze in Linux 6.3 Git landen und vermutlich auch von Linux 6.2 als stabiler Fix übernommen werden.