Sync HOWTO iodepth option with man page
authorJens Axboe <jaxboe@fusionio.com>
Thu, 2 Dec 2010 19:05:37 +0000 (20:05 +0100)
committerJens Axboe <jaxboe@fusionio.com>
Thu, 2 Dec 2010 19:05:37 +0000 (20:05 +0100)
Also add a note on other restrictions that may cause lower IO depth
than expected.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
HOWTO
fio.1

diff --git a/HOWTO b/HOWTO
index 7cb24dd8c12e764a7ff5c5c5c813efc775418311..dc21afc039d36456e41ea215b4c2917274ecc74f 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -549,7 +549,14 @@ ioengine=str       Defines how the job issues io to the file. The following
 iodepth=int    This defines how many io units to keep in flight against
                the file. The default is 1 for each file defined in this
                job, can be overridden with a larger value for higher
-               concurrency.
+               concurrency. Note that increasing iodepth beyond 1 will not
+               affect synchronous ioengines (except for small degress when
+               verify_async is in use). Even async engines my impose OS
+               restrictions causing the desired depth not to be achieved.
+               This may happen on Linux when using libaio and not setting
+               direct=1, since buffered IO is not async on that OS. Keep an
+               eye on the IO depth distribution in the fio output to verify
+               that the achieved depth is as expected. Default: 1.
 
 iodepth_batch_submit=int
 iodepth_batch=int This defines how many pieces of IO to submit at once.
diff --git a/fio.1 b/fio.1
index ab147f28ce8a1bdc227c5ff23eb6fc77e14bab0c..eaa1c408843443bc0cfa9d45502d453c054c701c 100644 (file)
--- a/fio.1
+++ b/fio.1
@@ -381,7 +381,11 @@ Loads an external I/O engine object file.  Append the engine filename as
 .BI iodepth \fR=\fPint
 Number of I/O units to keep in flight against the file. Note that increasing
 iodepth beyond 1 will not affect synchronous ioengines (except for small
-degress when verify_async is in use).  Default: 1.
+degress when verify_async is in use). Even async engines my impose OS
+restrictions causing the desired depth not to be achieved.  This may happen on
+Linux when using libaio and not setting \fBdirect\fR=1, since buffered IO is
+not async on that OS. Keep an eye on the IO depth distribution in the
+fio output to verify that the achieved depth is as expected. Default: 1.
 .TP
 .BI iodepth_batch \fR=\fPint
 Number of I/Os to submit at once.  Default: \fBiodepth\fR.