Loading
examples/nvme_fio_plugin: add support for zone append
Now when we have support for spdk_nvme_zns_zone_append() and spdk_nvme_zns_zone_appendv(), hook them up in the nvme fio plugin. Note that fio itself does not have support for zone append, since unlike SPDK, there is no user facing zone append API in Linux. Therefore, this new option simply replaces writes with zone appends in the SPDK fio backend. This is however still useful for the following reasons: -Provides a way to test zone append in SPDK. -By using zone append, we can test with iodepth > 1. With regular writes, the user can only specify iodepth=1. This is because for zone namespaces, writes have to target the write pointer. Having more than one write in flight, per zone, will lead to I/O errors. In Linux, it is possible to use fio with iodepth > 1 on zoned namespaces, simply because of the mq-deadline scheduler, which throttles writes such that there is only one write in flight, per zone, even if user space has queued up more. Since a user might not want to use zone append unconditionally, even on a namespace that supports it, make this an option rather than enabling it unconditionally. Signed-off-by:Niklas Cassel <niklas.cassel@wdc.com> Change-Id: I028b79f6445bc63b68c97d1370c6f8139779666d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6330 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Jim Harris <james.r.harris@intel.com> Reviewed-by:
Ben Walker <benjamin.walker@intel.com> Reviewed-by:
Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>