[PATCH] Reversed order of thinktime_blocks modulo operation
[fio.git] / fio.c
diff --git a/fio.c b/fio.c
index e8181a1c317f6a8a7a595100f9beed12126e9e5f..dd52626469a0358cdbacc062d02058b19f148825 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -379,7 +379,6 @@ static void do_io(struct thread_data *td)
        td_set_runstate(td, TD_RUNNING);
 
        while (td->this_io_bytes[td->ddir] < td->io_size) {
-               struct timespec ts = { .tv_sec = 0, .tv_nsec = 0};
                struct timespec *timeout;
                int min_evts = 0;
                struct io_u *io_u;
@@ -407,6 +406,8 @@ static void do_io(struct thread_data *td)
                add_slat_sample(td, io_u->ddir, mtime_since(&io_u->start_time, &io_u->issue_time));
 
                if (td->cur_depth < td->iodepth) {
+                       struct timespec ts = { .tv_sec = 0, .tv_nsec = 0};
+
                        timeout = &ts;
                        min_evts = 0;
                } else {
@@ -451,7 +452,7 @@ static void do_io(struct thread_data *td)
                        unsigned long long b;
 
                        b = td->io_blocks[0] + td->io_blocks[1];
-                       if (!(td->thinktime_blocks % b))
+                       if (!(b % td->thinktime_blocks))
                                usec_sleep(td, td->thinktime);
                }
        }