Merge branch 'master' into gfio
[fio.git] / HOWTO
diff --git a/HOWTO b/HOWTO
index c6304a7ca2ed7bf27b65df9ce844efa88f221534..0a3351c3f120d5b264f5cca5bcb93e796ed5137b 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -627,6 +627,7 @@ iodepth_low=int     The low water mark indicating when to start filling
 
 direct=bool    If value is true, use non-buffered io. This is usually
                O_DIRECT. Note that ZFS on Solaris doesn't support direct io.
 
 direct=bool    If value is true, use non-buffered io. This is usually
                O_DIRECT. Note that ZFS on Solaris doesn't support direct io.
+               On Windows the synchronous ioengines don't support direct io.
 
 buffered=bool  If value is true, use buffered io. This is the opposite
                of the 'direct' option. Defaults to true.
 
 buffered=bool  If value is true, use buffered io. This is the opposite
                of the 'direct' option. Defaults to true.
@@ -644,7 +645,7 @@ fsync=int   If writing to a file, issue a sync of the dirty data
 
 fdatasync=int  Like fsync= but uses fdatasync() to only sync data and not
                metadata blocks.
 
 fdatasync=int  Like fsync= but uses fdatasync() to only sync data and not
                metadata blocks.
-               In FreeBSD there is no fdatasync(), this falls back to
+               In FreeBSD and Windows there is no fdatasync(), this falls back to
                using fsync()
 
 sync_file_range=str:val        Use sync_file_range() for every 'val' number of
                using fsync()
 
 sync_file_range=str:val        Use sync_file_range() for every 'val' number of
@@ -1231,6 +1232,25 @@ uid=int          Instead of running as the invoking user, set the user ID to
 
 gid=int                Set group ID, see uid.
 
 
 gid=int                Set group ID, see uid.
 
+flow_id=int    The ID of the flow. If not specified, it defaults to being a
+               global flow. See flow.
+
+flow=int       Weight in token-based flow control. If this value is used, then
+               there is a 'flow counter' which is used to regulate the
+               proportion of activity between two or more jobs. fio attempts
+               to keep this flow counter near zero. The 'flow' parameter
+               stands for how much should be added or subtracted to the flow
+               counter on each iteration of the main I/O loop. That is, if
+               one job has flow=8 and another job has flow=-1, then there
+               will be a roughly 1:8 ratio in how much one runs vs the other.
+
+flow_watermark=int     The maximum value that the absolute value of the flow
+               counter is allowed to reach before the job must wait for a
+               lower value of the counter.
+
+flow_sleep=int The period of time, in microseconds, to wait after the flow
+               watermark has been exceeded before retrying operations
+
 In addition, there are some parameters which are only valid when a specific
 ioengine is in use. These are used identically to normal parameters, with the
 caveat that when used on the command line, they must come after the ioengine
 In addition, there are some parameters which are only valid when a specific
 ioengine is in use. These are used identically to normal parameters, with the
 caveat that when used on the command line, they must come after the ioengine