News: 0001508785

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

IO_uring Enjoys Hybrid IO Polling & Ring Resizing With Linux 6.13

([Linux Storage] 5 Hours Ago Linux 6.13 IO_uring)


Merged last week back toward the start of the Linux 6.13 merge window were a number of interesting IO_uring enhancements for this first major kernel version of 2025.

Jens Axboe sent in the IO_uring updates back when the other storage changes were sent in like [1]NVMe 2.1 support and NVMe rotational media handling . With Linux 6.13 for IO_uring is a number of interesting new features/improvements:

- Support for IO_uring ring resizing to avoid apps initially starting out with sizing the the busiest of usec-ases. Now the recommended approach is to start small and grow the ring as needed.

- Support for hybrid I/O polling as a variant of strict IOPOLL but having an initial sleep delay.

- Support for fixed wait regions.

- Support for partial buffer clones as opposed to always cloning the entire buffer table.

- Support for mapped regions.

- Support for sending a sync message to another ring without the need to have a ring available to send a normal async message.

- Removing the separate unlocked hash table so that everything is unified around a single locked hash table.

More details on these IO_uring changes for Linux 6.13 via [2]this pull request .



[1] https://www.phoronix.com/news/Linux-6.13-Block-NVMe

[2] https://lore.kernel.org/io-uring/ad411989-3695-4ac9-9f96-b95f71918285@kernel.dk/



uid313

jonkoops

Eat shit -- billions of flies can't be wrong.