Публикувана серия пачове за вмъкване в ядрото на Linux 5.20, която добавя поддръжка за асинхронно буферирано записване в файловата система XFS чрез механизма io_uring. Предварителните тестове за производителност, проведени с помощта на инструмента fio (1 поток, размер на блока 4kB, 600 секунди, последователно записване), показват нарастване на броя операции на вход/изход в секунда (IOPS) от 77k до 209k, скорости на предаване на данни от 314MB/s до 854MB/s и намаляване на забавянето от 9600ns до 120ns (80 пъти). последователни записи: без пач с пач libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s clat: 9600ns 120ns 540ns 3000ns
За интересуващите се от състоянието на io_uring към средата на 2022 година, се препоръчва да се запознаете с презентациите и видеозаписите от лекцията на Kernel Recipes 2022. Обзорно се споменават промените, които вече са влезли в ядрото и планираните, например може да се отбележи поддръжката:
- на множество (multi-shot) accept().
- на множество (multi-shot) recv() — според тестовете увеличението е с 6-8% — от 1150000 до 1200000 RPS.
- актуализации и корекции в библиотеката liburing, добавяне на документация и тестове.
В контекста на преносимостта на io_uring в презентацията се споменава значителна прилика с „I/O Rings“, използвана в подсистемата Direct Storage в Windows 11, както и възможността за реализиране на кросплатформена работа, но от другите платформи на слайда на автора е споменат само FreeBSD с въпросителен знак.

Източник: opennet.ru
