Close listen socket when done
[fio.git] / HOWTO
diff --git a/HOWTO b/HOWTO
index 3b60f58e0e367d1e593de9337b78b0ffb47f5d24..cc2df9b72421486d96d47e2d72220a0a5848c55a 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -319,8 +319,12 @@ rw=str             Type of io pattern. Accepted values are:
                a number of IO's to do before getting a new offset, this is
                one by appending a ':<nr>' to the end of the string given.
                For a random read, it would look like 'rw=randread:8' for
                a number of IO's to do before getting a new offset, this is
                one by appending a ':<nr>' to the end of the string given.
                For a random read, it would look like 'rw=randread:8' for
-               passing in an offset modifier with a value of 8. See the
-               'rw_sequencer' option.
+               passing in an offset modifier with a value of 8. If the
+               postfix is used with a sequential IO pattern, then the value
+               specified will be added to the generated offset for each IO.
+               For instance, using rw=write:4k will skip 4k for every
+               write. It turns sequential IO into sequential IO with holes.
+               See the 'rw_sequencer' option.
 
 rw_sequencer=str If an offset modifier is given by appending a number to
                the rw=<str> line, then this option controls how that
 
 rw_sequencer=str If an offset modifier is given by appending a number to
                the rw=<str> line, then this option controls how that
@@ -477,6 +481,13 @@ refill_buffers     If this option is given, fio will refill the IO buffers
                isn't specified, naturally. If data verification is enabled,
                refill_buffers is also automatically enabled.
 
                isn't specified, naturally. If data verification is enabled,
                refill_buffers is also automatically enabled.
 
+scramble_buffers=bool  If refill_buffers is too costly and the target is
+               using data deduplication, then setting this option will
+               slightly modify the IO buffer contents to defeat normal
+               de-dupe attempts. This is not enough to defeat more clever
+               block compression attempts, but it will stop naive dedupe of
+               blocks. Default: true.
+
 nrfiles=int    Number of files to use for this job. Defaults to 1.
 
 openfiles=int  Number of files to keep open at the same time. Defaults to
 nrfiles=int    Number of files to use for this job. Defaults to 1.
 
 openfiles=int  Number of files to keep open at the same time. Defaults to
@@ -513,6 +524,16 @@ ioengine=str       Defines how the job issues io to the file. The following
                        libaio  Linux native asynchronous io. Note that Linux
                                may only support queued behaviour with
                                non-buffered IO (set direct=1 or buffered=0).
                        libaio  Linux native asynchronous io. Note that Linux
                                may only support queued behaviour with
                                non-buffered IO (set direct=1 or buffered=0).
+                               This engine also has a sub-option,
+                               userspace_reap. To set it, use
+                               ioengine=libaio:userspace_reap. Normally, with
+                               the libaio engine in use, fio will use the
+                               io_getevents system call to reap newly returned
+                               events. With this flag turned on, the AIO ring
+                               will be read directly from user-space to reap
+                               events. The reaping mode is only enabled when
+                               polling for a minimum of 0 events (eg when
+                               iodepth_batch_complete=0).
 
                        posixaio glibc posix asynchronous io.
 
 
                        posixaio glibc posix asynchronous io.
 
@@ -570,9 +591,9 @@ ioengine=str        Defines how the job issues io to the file. The following
                                for more info on GUASI.
 
                        rdma    The RDMA I/O engine  supports  both  RDMA
                                for more info on GUASI.
 
                        rdma    The RDMA I/O engine  supports  both  RDMA
-                               memory semantic(RDMA_WRITE/RDMA_READ) and
-                               channel semantic(Send/Recv) in InfiniBand, RoCE
-                               and iWarp environment.
+                               memory semantic(RDMA_WRITE/RDMA_READ) and
+                               channel semantics (Send/Recv) for the
+                               InfiniBand, RoCE and iWARP protocols.
 
                        external Prefix to specify loading an external
                                IO engine object file. Append the engine
 
                        external Prefix to specify loading an external
                                IO engine object file. Append the engine
@@ -1335,13 +1356,13 @@ Split up, the format is as follows:
 
        version, jobname, groupid, error
        READ status:
 
        version, jobname, groupid, error
        READ status:
-               KB IO, bandwidth (KB/sec), runtime (msec)
+               Total IO (KB), bandwidth (KB/sec), runtime (msec)
                Submission latency: min, max, mean, deviation
                Completion latency: min, max, mean, deviation
                Total latency: min, max, mean, deviation
                Bw: min, max, aggregate percentage of total, mean, deviation
        WRITE status:
                Submission latency: min, max, mean, deviation
                Completion latency: min, max, mean, deviation
                Total latency: min, max, mean, deviation
                Bw: min, max, aggregate percentage of total, mean, deviation
        WRITE status:
-               KB IO, bandwidth (KB/sec), runtime (msec)
+               Total IO (KB), bandwidth (KB/sec), runtime (msec)
                Submission latency: min, max, mean, deviation
                Completion latency: min, max, mean, deviation
                Total latency: min, max, mean, deviation
                Submission latency: min, max, mean, deviation
                Completion latency: min, max, mean, deviation
                Total latency: min, max, mean, deviation