t/io_uring: Vectored fixed buffer test support for nvme passthrough path master
authorXiaobing Li <xiaobing.li@samsung.com>
Wed, 17 Sep 2025 06:58:38 +0000 (06:58 +0000)
committerJens Axboe <axboe@kernel.dk>
Wed, 17 Sep 2025 13:19:51 +0000 (07:19 -0600)
commit80d72cb05a6c54ea1b256dcd69e3e4fdc9294f4f
treef67b60e938f53d466f662647e920cf41c6f19986
parent2c573a35f3d6b67723114af9e6dffad1e94474bc
t/io_uring: Vectored fixed buffer test support for nvme passthrough path

The current kernel NVMe passthrough path already supports vectored IO
when using fixed buffers, but fio has not yet adapted it. This patch
aims to add a corresponding test interface in fio.

Test results:

taskset -c 1 t/io_uring -b512 -d64 -c2 -s2 -p1 -F1 -B1 -O0 -n1 -V1 -u1 -r4 /dev/ng1n1
submitter=0, tid=6179, file=/dev/ng1n1, nfiles=1, node=-1
polled=1, fixedbufs=1, register_files=1, buffered=1, QD=64
Engine=io_uring, sq_ring=64, cq_ring=64
IOPS=289.78K, BW=141MiB/s, IOS/call=1/1
IOPS=294.68K, BW=143MiB/s, IOS/call=1/1
IOPS=295.26K, BW=144MiB/s, IOS/call=1/1
Exiting on timeout
Maximum IOPS=295.26K

taskset -c 1 t/io_uring -b512 -d64 -c2 -s2 -p1 -F1 -B1 -O0 -n1 -V0 -u1 -r4 /dev/ng1n1
submitter=0, tid=6183, file=/dev/ng1n1, nfiles=1, node=-1
polled=1, fixedbufs=1, register_files=1, buffered=1, QD=64
Engine=io_uring, sq_ring=64, cq_ring=64
IOPS=292.31K, BW=142MiB/s, IOS/call=1/1
IOPS=295.79K, BW=144MiB/s, IOS/call=1/1
IOPS=290.78K, BW=141MiB/s, IOS/call=1/1
Exiting on timeout
Maximum IOPS=295.79K

Signed-off-by: Xiaobing Li <xiaobing.li@samsung.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
t/io_uring.c