; Compare fio IO engines with a random-read workload using BS=4k at QD=1
;
; README
;
; This job-file is intended to be used as:
;
; # Use the built-in io_uring engine to get baseline numbers
; fio examples/xnvme-compare.fio \
;   --section=default \
;   --ioengine=io_uring \
;   --sqthread_poll=1 \
;   --filename=/dev/nvme0n1
;
; # Use the xNVMe io-engine engine with Linux backend and io_uring async. impl.
; fio examples/xnvme-compare.fio \
;   --section=default \
;   --ioengine=xnvme \
;   --sqthread_poll=1 \
;   --xnvme_async=io_uring \
;   --filename=/dev/nvme0n1
;
; # Use the xNVMe io-engine engine with Linux backend and libaio async. impl.
; fio examples/xnvme-compare.fio \
;   --section=default \
;   --ioengine=xnvme \
;   --xnvme_async=libaio \
;   --filename=/dev/nvme0n1
;
; # Use the xNVMe io-engine engine with SPDK backend, note that you have to set the Namespace-id
; fio examples/xnvme-compare.fio \
;   --section=default \
;   --ioengine=xnvme \
;   --xnvme_dev_nsid=1 \
;   --filename=0000\\:01\\:00.0
;
; NOTE: The URI encoded in the filename above, the ":" must be escaped.
;
; On the command-line using two "\\":
;
; --filename=0000\\:01\\:00.0
;
; Within a fio-script using a single "\":
;
; filename=0000\:01\:00.0
;
; NOTE: If you want to override the default bs, iodepth, and workload, then
; invoke it as:
;
; FIO_BS="512" FIO_RW="verify" FIO_IODEPTH=16 fio examples/xnvme-compare.fio \
;   --section=override
;
[global]
rw=randread
size=12G
iodepth=1
bs=4K
direct=1
thread=1
time_based=1
runtime=7
ramp_time=3
norandommap=1

; Avoid accidentally creating device files; e.g. "/dev/nvme0n1", "/dev/nullb0"
allow_file_create=0

[default]

[override]
rw=${FIO_RW}
iodepth=${FIO_IODEPTH}
bs=${FIO_BS}
