[PATCH] Add thinktime_blocks
[fio.git] / fio.c
diff --git a/fio.c b/fio.c
index f046b0cd61e88d0571cedd63f03c681f16024083..e8181a1c317f6a8a7a595100f9beed12126e9e5f 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -447,8 +447,13 @@ static void do_io(struct thread_data *td)
                if (runtime_exceeded(td, &icd.time))
                        break;
 
-               if (td->thinktime)
-                       usec_sleep(td, td->thinktime);
+               if (td->thinktime) {
+                       unsigned long long b;
+
+                       b = td->io_blocks[0] + td->io_blocks[1];
+                       if (!(td->thinktime_blocks % b))
+                               usec_sleep(td, td->thinktime);
+               }
        }
 
        if (!td->error) {