[PATCH 0/2] Add support for uring-passthrough in t/io_uring

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series adds support for measuring peak performance of uring-passthrough path
using t/io_uring utility. Added new -u1 option, that makes t/io_uring to do io using
nvme passthrough commands.

Uring-passthrough on nvme-generic device:

root@test:/home/test/gost/anuj/github/fio# taskset -c 0 t/io_uring -b512 -d128 -c32 -s32 -p0 -F1 -B0 -O0 -n1 -u1 /dev/ng0n1
submitter=0, tid=11289, file=/dev/ng0n1, node=-1
polled=0, fixedbufs=0/0, register_files=1, buffered=1, QD=128
Engine=io_uring, sq_ring=128, cq_ring=128
IOPS=1.88M, BW=917MiB/s, IOS/call=32/31
IOPS=1.88M, BW=916MiB/s, IOS/call=32/32
IOPS=1.88M, BW=915MiB/s, IOS/call=32/32
IOPS=1.88M, BW=915MiB/s, IOS/call=32/32
IOPS=1.87M, BW=914MiB/s, IOS/call=32/32
IOPS=1.87M, BW=913MiB/s, IOS/call=32/32
^CExiting on signal
Maximum IOPS=1.88M

Regular io_uring on nvme-block device:

root@test:/home/test/gost/anuj/github/fio# taskset -c 0 t/io_uring -b512 -d128 -c32 -s32 -p0 -F1 -B0 -n1 /dev/nvme0n1
submitter=0, tid=11292, file=/dev/nvme0n1, node=-1
polled=0, fixedbufs=0/0, register_files=1, buffered=0, QD=128
Engine=io_uring, sq_ring=128, cq_ring=128
IOPS=1.48M, BW=724MiB/s, IOS/call=32/31
IOPS=1.48M, BW=722MiB/s, IOS/call=32/32
IOPS=1.48M, BW=721MiB/s, IOS/call=32/32
IOPS=1.48M, BW=721MiB/s, IOS/call=32/32
^CExiting on signal
Maximum IOPS=1.48M



Anuj Gupta (2):
  t/io_uring: prep for including engines/nvme.h in t/io_uring
  t/io_uring: add support for async-passthru

 t/io_uring.c | 164 +++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 147 insertions(+), 17 deletions(-)

-- 
2.25.1




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux