summaryrefslogtreecommitdiff
path: root/examples/libpmem.fio
blob: 0ff681f071981e37d6e5d79438c6d4b3b6fa49f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
[global]
bs=4k
size=8g
ioengine=libpmem
norandommap
time_based
group_reporting
invalidate=1
disable_lat=1
disable_slat=1
disable_clat=1
clat_percentiles=0

iodepth=1
iodepth_batch=1
thread
numjobs=1
runtime=300

#
# In case of 'scramble_buffers=1', the source buffer
# is rewritten with a random value every write operations.
#
# 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 performance.
#
scramble_buffers=0

#
# 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

#
# sync=1 means that pmem_drain() is executed for each write operation.
#
sync=1


#
# Setting for fio process's CPU Node and Memory Node
#
numa_cpu_nodes=0
numa_mem_policy=bind:0

#
# split means that each job will get a unique CPU from the CPU set
#
cpus_allowed_policy=split

#
# The libpmem engine does IO to files in a DAX-mounted filesystem.
# The filesystem should be created on an NVDIMM (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

[libpmem-seqwrite]
rw=write
stonewall

#[libpmem-seqread]
#rw=read
#stonewall

#[libpmem-randwrite]
#rw=randwrite
#stonewall

#[libpmem-randread]
#rw=randread
#stonewall