Home | History | Annotate | Download | only in examples
      1 [global]
      2 bs=1m
      3 ioengine=pmemblk
      4 norandommap
      5 time_based=1
      6 runtime=30
      7 group_reporting
      8 disable_lat=1
      9 disable_slat=1
     10 disable_clat=1
     11 clat_percentiles=0
     12 cpus_allowed_policy=split
     13 
     14 # For the pmemblk engine:
     15 #
     16 #   IOs always complete immediately
     17 #   IOs are always direct
     18 #   Must use threads
     19 #
     20 iodepth=1
     21 direct=1
     22 thread=1
     23 numjobs=16
     24 #
     25 # Unlink can be used to remove the files when done, but if you are
     26 # using serial runs with stonewall, and you want the files to be created
     27 # only once and unlinked only at the very end, then put the unlink=1
     28 # in the last group.  This is the method demonstrated here.
     29 #
     30 # Note that if you have a read-only group and if the files will be
     31 # newly created, then all of the data will read back as zero and the
     32 # read will be optimized, yielding performance that is different from
     33 # that of reading non-zero blocks (or unoptimized zero blocks).
     34 #
     35 unlink=0
     36 #
     37 # The pmemblk engine does IO to files in a DAX-mounted filesystem.
     38 # The filesystem should be created on an NVDIMM (e.g /dev/pmem0)
     39 # and then mounted with the '-o dax' option.  Note that the engine
     40 # accesses the underlying NVDIMM directly, bypassing the kernel block
     41 # layer, so the usual filesystem/disk performance monitoring tools such
     42 # as iostat will not provide useful data.
     43 #
     44 # Here we specify a test file on each of two NVDIMMs.  The first
     45 # number after the file name is the block size in bytes (4096 bytes
     46 # in this example).  The second number is the size of the file to
     47 # create in MiB (1 GiB in this example); note that the actual usable
     48 # space available to fio will be less than this as libpmemblk requires
     49 # some space for metadata.
     50 #
     51 # Currently, the minimum block size is 512 bytes and the minimum file
     52 # size is about 17 MiB (these are libpmemblk requirements).
     53 #
     54 # While both files in this example have the same block size and file
     55 # size, this is not required.
     56 #
     57 filename=/pmem0/fio-test,4096,1024
     58 filename=/pmem1/fio-test,4096,1024
     59 
     60 [pmemblk-write]
     61 rw=randwrite
     62 stonewall
     63 
     64 [pmemblk-read]
     65 rw=randread
     66 stonewall
     67 #
     68 # We're done, so unlink the file:
     69 #
     70 unlink=1
     71 
     72