È stata pubblicata una serie di patch per l'inclusione nel kernel di Linux 5.20, che aggiunge il supporto per la scrittura bufferizzata asincrona nel file system XFS utilizzando il meccanismo io_uring. I test preliminari delle prestazioni, condotti con l'ausilio dell'utility fio (1 thread, dimensione del blocco 4KB, 600 secondi, scrittura sequenziale), mostrano un incremento del numero di operazioni di input/output al secondo (IOPS) da 77k a 209k, una velocità di trasferimento dei dati da 314MB/s a 854MB/s e una riduzione delle latenza da 9600ns a 120ns (80 volte). scritture sequenziali: senza patch con patch libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s clat: 9600ns 120ns 540ns 3000ns
Per chi è interessato allo stato di io_uring a metà del 2022, si raccomanda di consultare le diapositive e la registrazione video della presentazione di Kernel Recipes 2022. Vengono brevemente menzionate le modifiche già incluse nel kernel e quelle pianificate; per esempio si può notare il supporto per:
- accept() multi-shot.
- recv() multi-shot — nei test, un aumento del 6-8% — da 1.150.000 a 1.200.000 RPS.
- aggiornamenti e correzioni nella libreria liburing, aggiunta di documentazione e test.
Nel contesto della portabilità di io_uring, si menziona nelle diapositive una notevole somiglianza con gli "I/O Rings", utilizzati nel sottosistema Direct Storage in Windows 11, oltre alla possibilità di implementare un funzionamento cross-platform, ma tra le altre piattaforme nel documento dell'autore è stata menzionata solo FreeBSD con un punto interrogativo.

Fonte: opennet.ru
