Fix crash on threads being reaped before they are created
[fio.git] / HOWTO
diff --git a/HOWTO b/HOWTO
index e770b99de49879ce74afcdec7d6c84a553c25518..73be9d7b7aa8bfc555941899b88f81834d2d78ce 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -253,7 +253,20 @@ machine.
 
 This section describes in details each parameter associated with a job.
 Some parameters take an option of a given type, such as an integer or
-a string. The following types are used:
+a string. Anywhere a numeric value is required, an arithmetic expression
+may be used, provided it is surrounded by parentheses. Supported operators
+are:
+
+       addition (+)
+       subtraction (-)
+       multiplication (*)
+       division (/)
+       modulus (%)
+       exponentiation (^)
+
+For time values in expressions, units are microseconds by default. This is
+different than for time values not in expressions (not enclosed in
+parentheses). The following types are used:
 
 str    String. This is a sequence of alpha characters.
 time   Integer with possible time suffix. In seconds unless otherwise
@@ -379,7 +392,7 @@ rw=str              Type of io pattern. Accepted values are:
                For certain types of io the result may still be skewed a bit,
                since the speed may be different. It is possible to specify
                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.
+               done 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. If the
                suffix is used with a sequential IO pattern, then the value
@@ -426,12 +439,6 @@ randseed=int       Seed the random number generators based on this seed value, to
                If not set, the random sequence depends on the randrepeat
                setting.
 
-use_os_rand=bool Fio can either use the random generator supplied by the OS
-               to generator random offsets, or it can use it's own internal
-               generator (based on Tausworthe). Default is to use the
-               internal generator, which is often of better quality and
-               faster.
-
 fallocate=str  Whether pre-allocation is performed when laying down files.
                Accepted values are:
 
@@ -554,7 +561,7 @@ bssplit=str Sometimes you want even finer grained control of the
                while having 90% 4k writes and 10% 8k writes, you would
                specify:
 
-               bssplit=2k/50:4k/50,4k/90,8k/10
+               bssplit=2k/50:4k/50,4k/90:8k/10
 
 blocksize_unaligned
 bs_unaligned   If this option is given, any byte size value within bsrange
@@ -1627,7 +1634,9 @@ that defines them is selected.
                address.
 
 [netsplice] port=int
-[net] port=int The TCP or UDP port to bind to or connect to.
+[net] port=int The TCP or UDP port to bind to or connect to. If this is used
+with numjobs to spawn multiple instances of the same job type, then this will
+be the starting port number since fio will use a range of ports.
 
 [netsplice] interface=str
 [net] interface=str  The IP address of the network interface used to send or
@@ -1659,6 +1668,7 @@ that defines them is selected.
 [net] listen   For TCP network connections, tell fio to listen for incoming
                connections rather than initiating an outgoing connection. The
                hostname must be omitted if this option is used.
+
 [net] pingpong Normaly a network writer will just continue writing data, and
                a network reader will just consume packages. If pingpong=1
                is set, a writer will send its normal payload to the reader,
@@ -1671,6 +1681,10 @@ that defines them is selected.
                single reader when multiple readers are listening to the same
                address.
 
+[net] window_size      Set the desired socket buffer size for the connection.
+
+[net] mss      Set the TCP maximum segment size (TCP_MAXSEG).
+
 [e4defrag] donorname=str
                File will be used as a block donor(swap extents between files)
 [e4defrag] inplace=int