[global]
bs=4k
-size=8g
+size=10g
ioengine=libpmem
norandommap
-time_based=1
+time_based
group_reporting
invalidate=1
disable_lat=1
iodepth=1
iodepth_batch=1
-thread=1
+thread
numjobs=1
+runtime=300
#
-# In case of 'scramble_buffers=1', the source buffer
-# is rewritetten with a random value every write operations.
+# depends on direct option, flags are set for pmem_memcpy() call:
+# direct=1 - PMEM_F_MEM_NONTEMPORAL,
+# direct=0 - PMEM_F_MEM_TEMPORAL.
+#
+direct=1
+
#
-# But when 'scramble_buffers=0', the source buffer isn't rewritten.
-# So it will be likely that he source buffer is on CPU cache and
-# it seems to be high performance.
+# sync=1 means that pmem_drain() is executed for each write operation.
#
-scramble_buffers=0
+sync=1
#
-# direct=0:
-# Using pmem_memcpy_nodrain() for write operation
+# In case of 'scramble_buffers=1', the source buffer
+# is rewritten with a random value every write operation.
#
-# direct=1:
-# Using pmem_memcpy_persist() for write operation
+# But when 'scramble_buffers=0' is set, the source buffer isn't
+# rewritten. So it will be likely that the source buffer is in CPU
+# cache and it seems to be high write performance.
#
-direct=0
+scramble_buffers=1
#
-# Setting for fio process's CPU Node and Memory Node
+# Setting for fio process's CPU Node and Memory Node.
+# Set proper node below or use `numactl` command along with FIO.
#
numa_cpu_nodes=0
numa_mem_policy=bind:0
cpus_allowed_policy=split
#
-# The pmemblk engine does IO to files in a DAX-mounted filesystem.
-# The filesystem should be created on an NVDIMM (e.g /dev/pmem0)
+# The libpmem engine does IO to files in a DAX-mounted filesystem.
+# The filesystem should be created on a Non-Volatile DIMM (e.g /dev/pmem0)
# and then mounted with the '-o dax' option. Note that the engine
# accesses the underlying NVDIMM directly, bypassing the kernel block
# layer, so the usual filesystem/disk performance monitoring tools such
# as iostat will not provide useful data.
#
-directory=/mnt/pmem0
+#filename=/mnt/pmem/somefile
+directory=/mnt/pmem
[libpmem-seqwrite]
rw=write
stonewall
-#[libpmem-seqread]
-#rw=read
-#stonewall
+[libpmem-seqread]
+rw=read
+stonewall
#[libpmem-randwrite]
#rw=randwrite