poll: break on EINTR without complaining
[fio.git] / HOWTO
diff --git a/HOWTO b/HOWTO
index ad4e45402172f04a4563b2974c5e997462b4d30d..cc2df9b72421486d96d47e2d72220a0a5848c55a 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -481,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
@@ -517,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.
 
@@ -1187,13 +1204,6 @@ uid=int          Instead of running as the invoking user, set the user ID to
 
 gid=int                Set group ID, see uid.
 
-userspace_libaio_reap=bool  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).
-
 6.0 Interpreting the output
 ---------------------------
 
@@ -1346,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