Публикувана поредица пачове за включване в ядрото 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
