fio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ankit Kumar <ankit.kumar@samsung.com>
To: axboe@kernel.dk, vincentfu@gmail.com
Cc: fio@vger.kernel.org, Ankit Kumar <ankit.kumar@samsung.com>
Subject: [PATCH 0/5] Protection information support for xnvme ioengine
Date: Tue, 13 Feb 2024 21:03:10 +0530	[thread overview]
Message-ID: <20240213153315.134202-1-ankit.kumar@samsung.com> (raw)
In-Reply-To: CGME20240213101603epcas5p226dc1964544edfb1549fba7734884151@epcas5p2.samsung.com

This series enables protection information support with xnvme ioengine.
The support is provided with the kernel backends that can handle
passthrough commands via nvme character device (/dev/ngXnY), or with
user space nvme drivers such as SPDK and libvfn.

The initial patch adds support for metadata buffer. As we are unaware
of metadata size during metadata buffer allocation, we provide an
option md_per_io_size. This must be used to specify metadata size for
single IO, if namespace is formatted with separate metadata buffer.

This then enables the protection information support with and without
PRACT bit set for both DIF and DIX cases. The support only covers 16-bit
and 64-bit guard protection information format, without storage tags.

For the sake of consistency metadata and protection information specific
options are the same as the ones used by io_uring_cmd ioengine and SPDK's
external ioengine.

Ankit Kumar (5):
  engines/xnvme: allocate iovecs only if vectored I/O is enabled
  engines/xnvme: add support for metadata
  engines:xnvme: add support for end to end data protection
  engines/xnvme: add checks for verify, block size and metadata size
  examples: add PI example with xnvme ioengine

 HOWTO.rst             |  10 +-
 configure             |   2 +-
 engines/xnvme.c       | 331 +++++++++++++++++++++++++++++++++++++++---
 examples/xnvme-pi.fio |  53 +++++++
 examples/xnvme-pi.png | Bin 0 -> 71285 bytes
 fio.1                 |  10 +-
 6 files changed, 378 insertions(+), 28 deletions(-)
 create mode 100644 examples/xnvme-pi.fio
 create mode 100644 examples/xnvme-pi.png

-- 
2.25.1


       reply	other threads:[~2024-02-13 10:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20240213101603epcas5p226dc1964544edfb1549fba7734884151@epcas5p2.samsung.com>
2024-02-13 15:33 ` Ankit Kumar [this message]
     [not found]   ` <CGME20240213101604epcas5p203cad070c072cccae009c31d1ea363ff@epcas5p2.samsung.com>
2024-02-13 15:33     ` [PATCH 1/5] engines/xnvme: allocate iovecs only if vectored I/O is enabled Ankit Kumar
     [not found]   ` <CGME20240213101605epcas5p14343583c58b749d8f6d66b219aabaf4e@epcas5p1.samsung.com>
2024-02-13 15:33     ` [PATCH 2/5] engines/xnvme: add support for metadata Ankit Kumar
     [not found]   ` <CGME20240213101606epcas5p25ae0cab4102c92c6e93133df182b8486@epcas5p2.samsung.com>
2024-02-13 15:33     ` [PATCH 3/5] engines:xnvme: add support for end to end data protection Ankit Kumar
     [not found]   ` <CGME20240213101606epcas5p34f9948ca837dcb8a2413ede602a7e39c@epcas5p3.samsung.com>
2024-02-13 15:33     ` [PATCH 4/5] engines/xnvme: add checks for verify, block size and metadata size Ankit Kumar
2024-02-13 19:20       ` Vincent Fu
2024-02-14 12:17         ` Ankit Kumar
     [not found]   ` <CGME20240213101608epcas5p458d834caa7bbd6ffbe0c71dd20c1fdd3@epcas5p4.samsung.com>
2024-02-13 15:33     ` [PATCH 5/5] examples: add PI example with xnvme ioengine Ankit Kumar
2024-02-13 19:21   ` [PATCH 0/5] Protection information support for " Vincent Fu
2024-02-13 19:22     ` Jens Axboe
2024-02-13 19:27       ` Vincent Fu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240213153315.134202-1-ankit.kumar@samsung.com \
    --to=ankit.kumar@samsung.com \
    --cc=axboe@kernel.dk \
    --cc=fio@vger.kernel.org \
    --cc=vincentfu@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).