engines/io_uring: add multi range dsm support Update the io_uring_cmd ioengine to support multiple ranges for trim. This includes allocating buffer for multiple ranges, and changes to the nvme trim helper functions. Add an example on how to use multi range trim. Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Link: https://lore.kernel.org/r/20240215151812.138370-4-ankit.kumar@samsung.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Add support for VSOCK to engine/net.c * configure: add option to enable/disable vsock support * engines/net.c: add vsock support The VSOCK address family facilitates communication between virtual machines and the host they are running on. The addressing is formed by 2 integers: <CID, port> - CID: Context ID, it is the ID assigned to the VM 0, 1, 2 CIDs are reserved: 0 - hypervisor CID (rarely used) 1 - local communication (loopback) 2 - host CID (the guest can always reach the host using CID=2) - port: port number on 32bit to reach a specific process * examples: add 3 simple job files for vsock (one sender, one receiver and one that uses vsock loopback interface similar to examples/netio.fio) * fio.1: add vsock to supported protocols together with the required parameters * HOWTO.rst: add vsock to supported protocols together with the required parameters Signed-off-by: Marco Pinna <marco.pinn95@gmail.com>
examples: cmdprio_bssplit: add CDL example Add an example of how to use cmdprio_bssplit with Command Duration Limits. Signed-off-by: Niklas Cassel <cassel@kernel.org> Link: https://lore.kernel.org/r/20240126181353.4151771-2-cassel@kernel.org Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
engines/xnvme: fix fdp support for userspace drivers The xNVMe backend supports FDP commands for userspace drivers such as SPDK. Enable support in the xnvme ioengine. Update the xnvme fdp example file accordingly. Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Link: https://lore.kernel.org/r/20231102135928.195372-1-ankit.kumar@samsung.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
examples: add example and fiograph for protection information options Add missing io_uring_cmd ioengine options to fiograph config. Add two example job files for the protection information options. These include one for DIF i.e. extended LBA data size, and the other for DIX i.e. separate metadata buffer case. Add the corresponding fiograph diagram for these. Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Link: https://lore.kernel.org/r/20230816094616.132240-1-ankit.kumar@samsung.com Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
engines/xnvme: add support for fdp Add FDP support to xnvme I/O engine. This support can be used only with nvme-ns generic character device (/dev/ngXnY). The available backends are --xnvme_async=io_uring_cmd and --xnvme_sync=nvme. Add a xnvme-fdp config example file. Update the minimum required xnvme version to 0.7.0 Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
fio: add fdp support for io_uring_cmd nvme engine Add support for NVMe TP4146 Flexible Data Placemen, allowing placement identifiers in write commands. The user can enabled this with the new "fdp=1" parameter for fio's io_uring_cmd ioengine. By default, the fio jobs will cycle through all the namespace's available placement identifiers for write commands. The user can limit which placement identifiers can be used with additional parameter, "fdp_pli=<list,>", which can be used to separate write intensive jobs from less intensive ones. Setting up your namespace for FDP is outside the scope of 'fio', so this assumes the namespace is already properly configured for the mode. Link: https://lore.kernel.org/fio/CAKi7+wfX-eaUD5pky5cJ824uCzsQ4sPYMZdp3AuCUZOA1TQrYw@mail.gmail.com/T/#m056018eb07229bed00d4e589f9760b2a2aa009fc Based-on-a-patch-by: Ankit Kumar <ankit.kumar@samsung.com> Signed-off-by: Keith Busch <kbusch@kernel.org> Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> [Vincent: fold in sfree fix from Ankit] Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
pmemblk: remove pmemblk engine No further support or maintenance of the libpmemblk library is planned. https://pmem.io/blog/2022/11/update-on-pmdk-and-our-long-term-support-strategy/ https://github.com/pmem/pmdk/pull/5538 Signed-off-by: osalyk <oksana.salyk@intel.com>
examples: Small updates to nbd.fio Improve the documentation, describing how to use nbdkit with a local file. Move the suggested test file to /var/tmp since /tmp might be a tmpfs. Use indenting to make it easier to read. Use ${uri} instead of ${unixsocket} since nbdkit 1.14 was released nearly 4 years ago. Signed-off-by: Richard W.M. Jones <rjones@redhat.com> Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
examples: add missing fiograph diagram for sg_write_same_ndob.fio This fiograph diagram was missed in the earlier patch that added missing fiograph diagrams for the example job files. Now each example job file should have a fiograph diagram. Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
examples: add missing fiograph diagrams We have added multiple example job files recently without including fiograph diagrams for them. This patch adds fiograph diagrams for example job files where they were missing. Signed-off-by: Vincent Fu <vincent.fu@samsung.com>