[PATCH for-next v8 0/5] fixed-buffer for uring-cmd/passthru

Jens Axboe axboe at kernel.dk
Fri Sep 23 07:15:28 PDT 2022


On 9/23/22 3:28 AM, Kanchan Joshi wrote:
> Currently uring-cmd lacks the ability to leverage the pre-registered
> buffers. This series adds that support in uring-cmd, and plumbs
> nvme passthrough to work with it.
> 
> Using registered-buffers showed IOPS hike from 1.9M to 2.2M in my tests.

Ran my peak test on this, specifically:

t/io_uring -pX -d128 -b512 -s32 -c32 -F1 -B0 -R1 -X1 -n24 -P1 -u1 -O0 /dev/ng0n1 /dev/ng1n1 /dev/ng2n1 /dev/ng3n1 /dev/ng4n1 /dev/ng5n1 /dev/ng6n1 /dev/ng7n1 /dev/ng8n1 /dev/ng9n1 /dev/ng10n1 /dev/ng11n1 /dev/ng12n1 /dev/ng13n1 /dev/ng14n1 /dev/ng15n1 /dev/ng16n1 /dev/ng17n1 /dev/ng18n1 /dev/ng19n1 /dev/ng20n1 /dev/ng21n1 /dev/ng22n1 /dev/ng23n1

Before:

Polled (-p1): 96.8M IOPS
IRQ driven (-p0): 56.2M IOPS

With patches, set -B1 in the above:

Polled (-p1): 121.8M IOPS
IRQ driven (-p0): 68.7M IOPS

+22-26% improvement, which is not unexpected.

-- 
Jens Axboe





More information about the Linux-nvme mailing list