X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=HOWTO;h=cc2df9b72421486d96d47e2d72220a0a5848c55a;hb=afcf77584a39461d81ff8b5c3c86fb7583172020;hp=3b60f58e0e367d1e593de9337b78b0ffb47f5d24;hpb=833491908a1afd67d27ce79257de3a4d80143d9f;p=fio.git diff --git a/HOWTO b/HOWTO index 3b60f58e..cc2df9b7 100644 --- 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 ':' 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= 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. +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 @@ -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). + 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. @@ -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 - memory semantic(RDMA_WRITE/RDMA_READ) and - channel semantic(Send/Recv) in InfiniBand, RoCE - and iWarp environment. + memory semantics (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 @@ -1335,13 +1356,13 @@ Split up, the format is as follows: 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: - 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