Skip to content

Commit

Permalink
examples: add example and fiograph for protection information options
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
ankit-sam authored and vincentkfu committed Aug 16, 2023
1 parent 6795954 commit b311162
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 1 deletion.
31 changes: 31 additions & 0 deletions examples/uring-cmd-pi-ext.fio
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Protection information test with io_uring_cmd I/O engine for nvme-ns generic
# character device.
#
# This requires nvme device to be formatted with extended LBA data size and
# protection information enabled. This can be done with nvme-cli utility.
# Replace bs below with the correct extended LBA size.
#
# First we sequentially write to the device, without protection information
# action being set. FIO will generate and send necessary protection
# information data as per the protection information check option. Later on we
# sequentially read and verify the device returned protection information data.
#
[global]
filename=/dev/ng0n1
ioengine=io_uring_cmd
cmd_type=nvme
size=1G
iodepth=32
bs=4160
pi_act=0
pi_chk=GUARD,APPTAG,REFTAG
apptag=0x0888
apptag_mask=0xFFFF
thread=1
stonewall=1

[write]
rw=write

[read]
rw=read
Binary file added examples/uring-cmd-pi-ext.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions examples/uring-cmd-pi-sb.fio
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Protection information test with io_uring_cmd I/O engine for nvme-ns generic
# character device.
#
# This requires nvme device to be formatted with separate metadata buffer and
# protection information enabled. This can be done with nvme-cli utility.
# Replace md_per_io_size as per the required metadata buffer size for each IO.
#
# First we sequentially write to the device, without protection information
# action being set. FIO will generate and send necessary protection
# information data as per the protection information check option. Later on we
# sequentially read and verify the device returned protection information data.
#
[global]
filename=/dev/ng0n1
ioengine=io_uring_cmd
cmd_type=nvme
size=1G
iodepth=32
bs=4096
md_per_io_size=64
pi_act=0
pi_chk=GUARD,APPTAG,REFTAG
apptag=0x0888
apptag_mask=0xFFFF
thread=1
stonewall=1

[write]
rw=write

[read]
rw=read
Binary file added examples/uring-cmd-pi-sb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion tools/fiograph/fiograph.conf
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ specific_options=ime_psync ime_psyncv
specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored uncached nowait force_async

[ioengine_io_uring_cmd]
specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored uncached nowait force_async cmd_type
specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored uncached nowait force_async cmd_type md_per_io_size pi_act pi_chk apptag apptag_mask

[ioengine_libaio]
specific_options=userspace_reap cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit nowait
Expand Down

0 comments on commit b311162

Please sign in to comment.