IO_uring Enjoys Hybrid IO Polling & Ring Resizing With Linux 6.13

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 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 this pull request .