iodepth and synchronous ioengines ("pitfall")

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I just stumbled into a glaring pitfall when playing with iodepth=X for
the first time. Was using ioengine=sync (default), increased iodepth > 1
and wondered briefly why my results didn't change. Thinking about it,
this made perfect sense and the "IO depths" distribution in the result
summary even pointed me to it.

Nevertheless, it might help others to avoid this alltogether if the man
page paragraph on iodepth would include a small heads up / reference to
ioengines. Example patch attached, not quite sure about the wording for
the verify_async aspect.

Sebastian
--- Begin Message ---
---
 fio.1 |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/fio.1 b/fio.1
index b0276c4..ab147f2 100644
--- a/fio.1
+++ b/fio.1
@@ -379,7 +379,9 @@ Loads an external I/O engine object file.  Append the engine filename as
 .RE
 .TP
 .BI iodepth \fR=\fPint
-Number of I/O units to keep in flight against the file.  Default: 1.
+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.
 .TP
 .BI iodepth_batch \fR=\fPint
 Number of I/Os to submit at once.  Default: \fBiodepth\fR.
-- 
1.4.4.4

--- End Message ---

[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux