News: 0001609670

  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)

Linux's ublk Adding Batch I/O Dispatch Capability For Greater Performance

([Linux Storage] 3 Hours Ago ublk)


Linux's user-space block device driver framework "ublk" for implementing virtual block device drivers in user-space relayed by IO_uring is introducing batch I/O dispatch infrastructure.

This code on the way to the mainline kernel for Linux 7.0 allows for delivering I/O commands to the ublk user-space server in batches. By batching the I/O, there is "significantly" reduced notification overhead by allowing multiple I/O completions within a single uring_cmd.

The [1]patch series notes for 16 jobs I/O involving page copies the performance improved in tests by 12% or around 3.7% when using zero-copy. Or for single job I/O was still around a 2.3% improvement with page copies or up to 7% with zero-copy behavior.

"This patchset adds UBLK_F_BATCH_IO feature for communicating between kernel and ublk server in batching way:

- Per-queue vs Per-I/O: Commands operate on queues rather than individual I/Os

- Batch processing: Multiple I/Os are handled in single operation

- Multishot commands: Use io_uring multishot for reducing submission overhead

- Flexible task assignment: Any task can handle any I/O (no per-I/O daemons)

- Better load balancing: Tasks can adjust their workload dynamically

- help for future optimizations:

- blk-mq batch tags free

- support io-poll

- per-task batch for avoiding per-io lock

- fetch command priority

- simplify command cancel process with per-queue lock"

The work is queued up in Jens Axboe's [2]"for-next" Git branch thus on track for the Linux 6.20~7.0 kernel merge window in February barring any unexpected issues.



[1] https://lore.kernel.org/all/20260116141859.719929-1-ming.lei@redhat.com/

[2] https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git/commit/?h=for-next&id=7a1bb41947cee3aa50fa9b276e9aeb6caa87b543



8) Use common sense in routing cable. Avoid wrapping coax around sources of
strong electric or magnetic fields. Do not wrap the cable around
fluorescent light ballasts or cyclotrons, for example.
-- Ethernet Headstart Product, Information and Installation Guide,
Bell Technologies, pg. 11