VOOZH about

URL: https://www.phoronix.com/news/io-uring-multishot-provided-buf

⇱ IO_uring Ready For uring_cmd Multishot Support With Provided Buffers - Phoronix


👁 Phoronix

IO_uring Ready For uring_cmd Multishot Support With Provided Buffers

Written by Michael Larabel in Linux Storage on 24 August 2025 at 05:45 AM EDT. 3 Comments
Linux IO_uring and block subsystem maintainer Jens Axboe this week queued the patch series for multi-shot support with provided buffers. Thus the feature should go in for Linux 6.18 as another nice enhancement to the wonderful IO_uring kernel innovation.

Ming Lei of Red Hat who led the work on IO_uring multi-shot support with provided buffers explained on the patch series:
"Add UAPI flag IORING_URING_CMD_MULTISHOT for supporting multishot uring_cmd operations with provided buffer.

This enables drivers to post multiple completion events from a single uring_cmd submission, which is useful for:

- Notifying userspace of device events (e.g., interrupt handling)
- Supporting devices with multiple event sources (e.g., multi-queue devices)
- Avoiding the need for device poll() support when events originate from multiple sources device-wide

The implementation adds two new APIs:
- io_uring_cmd_select_buffer(): selects a buffer from the provided buffer group for multishot uring_cmd
- io_uring_mshot_cmd_post_cqe(): posts a CQE after event data is pushed to the provided buffer

Multishot uring_cmd must be used with buffer select (IOSQE_BUFFER_SELECT) and is mutually exclusive with IORING_URING_CMD_FIXED for now."

The main takeaways being this multi-shot support being useful for better supporting some devices like multi-queue hardware and notifying user-space on device events. The very first user of these new APIs is the user-space block device "ublk" driver.

👁 IO_uring logo


These patches were queued up this week in the linux-block.git's "for-next" Git branch making it material expected for Linux 6.18 barring any last minute issues from coming up with the code prior to its submission to Linus Torvalds in early October.

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.