Il una grande serie di modifiche ai blocchi per Linux 5.16 sono state unite oggi con l’apertura del nuovo ciclo del kernel. Mentre le massicce ottimizzazioni I/O affrontate di recente sono state l’obiettivo principale, c’è anche molto di più nel sottosistema a blocchi in arrivo con Linux 5.16.
A parte tutte le ottimizzazioni dell’I/O perseguite da Jens Axboe e altri per poter raggiungere ~10 milioni di IOPS per core sul sistema di test del manutentore, alcuni degli altri blocchi di lavoro per Linux 5.16 includono:
Il set centrale di aggiornamenti include miglioramenti della contabilità MQ-Deadline, rielaborazione del supporto del sondaggio per essere basato su bio per consentire il polling per driver basati su bio, supporto del core a livello di blocco per unità multi-attuatore, miglioramenti di blk-crypto, miglioramenti del collegamento, disattivazione della coda simultanea supporto e altri miglioramenti.
Il supporto multi-attuatore è stato fornito dall’ingegnere di Western Digital Damien Le Moal. La modifica necessaria sul lato kernel è per il supporto di intervalli di accesso indipendenti all’interno del codice nero.
Questa patch implementa il supporto per esporre gli intervalli di accesso indipendenti di un dispositivo a blocchi all’utente tramite sysfs per consentire l’ottimizzazione degli accessi al dispositivo per aumentare le prestazioni.
Per descrivere l’insieme di intervalli di settori indipendenti di un dispositivo (attuatori di un HDD multi-attuatore o voci di tabella di un dispositivo dm-linear), viene introdotto il tipo struct blk_independent_access_ranges. Questa struttura descrive gli intervalli di settore utilizzando un array di strutture struct blk_independent_access_range. Questa struttura dell’intervallo definisce il settore iniziale e il numero di settori dell’intervallo di accesso. Gli intervalli nell’array non possono sovrapporsi e devono contenere tutti i settori all’interno della capacità del dispositivo.
Gli intervalli vengono esposti tramite/sys/block/sd*/queue/independent_access_ranges/. I dischi rigidi multi-attuatore sono una tendenza nuova e in crescita, come con la tecnologia Seagate MACH.2 per due attuatori all’interno di un disco rigido per un maggiore parallelismo. Le unità multi-attuatore sono di crescente interesse per gli hyperscaler e altre organizzazioni con esigenze di storage su disco rigido denso ma performante. Si prevede che Western Digital, Seagate e altri fornitori rilasceranno più unità multi-attuatore nel prossimo anno.
A seguito di questi aggiornamenti dei blocchi, SCSI multi-il supporto dell’attuatore è stato unito come parte di un pull separato con questa gestione degli intervalli di accesso indipendente.
Ulteriori informazioni sulle unità multi-attuatore tramite il blog di Seagate.
Il blocca gli aggiornamenti dei driver apporta miglioramenti a NVMe e altri problemi di abbandono dei driver.
IO_uring cambia porta una modalità asincrona ibrida, supporto per problemi in batch su blocco, miglioramenti dell’efficienza IPOLL e l’altro lavoro relativo alle prestazioni per un numero emozionante di settimane passate.
Anche il codice del CDROM ha visto alcuni aggiornamenti in questo ciclo. La novità del codice del CD-ROM in Linux 5.16 è una nuova interfaccia”CDROM_TIMED_MESA_CHANGE”per un migliore rilevamento delle modifiche ai supporti. Ciò consente di scoprire se il disco è stato modificato dall’ora fornita dall’utente e di restituire l’ora dell’ultima modifica del disco.