In vista del rilascio potenziale del kernel Linux 6.3 come stabile domenica, due patch dell’ultimo minuto per il driver del file system Btrfs sono state inviate oggi per risolvere un problema urgente da Linux 6.2.
Btrfs per Linux 6.3 sta lavorando all’ultimo minuto per risolvere i problemi con lo scarto asincrono, che è stato abilitato per impostazione predefinita da Linux 6.2. Il comportamento di scarto asincrono predefinito aveva un limite di IOPS basso e l’elaborazione di un grande batch di scarti richiedeva molto tempo e sprecava energia/attività del disco.
Boris Burkov ha inviato le patch Btrfs all’inizio di questo mese e ha spiegato:
“Da quando scarto=async è diventato l’impostazione predefinita implicita in btrfs nel kernel 6.2, ci sono state numerose lamentele sul fatto che scarto fosse troppo diffuso sui sistemi workstation. Ciò si traduce in situazioni in cui gli utenti guidano non rimanendo inattivi per un periodo di tempo inaspettatamente lungo.
Ciò è causato da un limite di iops predefinito relativamente basso di 10, quindi questa serie aumenta il limite predefinito a 1000 (ritardo di 1 ms) e modifica uno strano fallback comportamento per limit=0 da interpretare come illimitato.
…
In precedenza, il valore predefinito era un 10 relativamente conservativo. Ciò si traduce in un ritardo di 100 ms, quindi con ~300 scarti in un commit, prende l’intero 30 secondi fino al prossimo commit per terminare gli scarti. Su una workstation, questo fa sì che il disco non vada mai inattivo, consumando energia/batteria, ecc.Imposta il valore predefinito su 1000, che si traduce nell’utilizzo del ritardo più piccolo possibile, attualmente, che è 1ms. Ciò ha dimostrato di non mantenere patologicamente occupato il disco dal reporter originale.”
La modifica di Btrfs dovrebbe arrivare a breve in Linux 6.3 Git e presumibilmente ripresa anche da Linux 6.2 come soluzione stabile.