On Fri, Sep 23, 2022 at 08:15:28AM -0600, Jens Axboe wrote:
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.
Thanks for giving it a whirl.