Разработчиците на Linux подготвят важна оптимизация за IO_uring: поддръжка на големи receive буфери в zero‑copy пътя. Пачът е дело на Pavel Begunkov (Meta) и вече е приет в for-next клона на Jens Axboe, което означава, че ще влезе в следващия цикъл на ядрото – очаквано около Linux Kernel6.20–7.0.
Съдържание на статията
Какво решава тази промяна
Досега zero‑copy receive механизмът в IO_uring работеше с буфери до 4K. Това е достатъчно за масови конфигурации, но ограничава производителността при по-мощни мрежови карти, които могат да обработват значително по-големи пакети.
Новата поддръжка позволява използване на receive буфери над 4K, което води до:
- по-малко прекъсвания и по-малко копиране на данни
- по-висока ефективност при високоскоростни мрежови адаптери
- по-ниска процесорна консумация при големи входящи пакети
Колко е голям ефектът
Според данните, цитирани от разработчиците, преминаването от 4K към 32K receive буфери може да подобри CPU ефективността с до 30%.
Любопитното е, че това се постига с под 40 реда нов код – малка промяна с голямо влияние.
Къде се намира пачът
Промените вече са в for-next клона на Axboe под името for-7.0/io_uring-zcrx-large-buffers, което практически гарантира включването им в следващата версия на ядрото.










