The following changes since commit bb1116fe9a53154447bb4305ed9d9fd42d2a6aa1:

  Fixup whitespace damage in the two previous commits (2015-02-19 08:47:34 
-0800)

are available in the git repository at:

  git://git.kernel.dk/fio.git master

for you to fetch changes up to cf8a46a75f38afe07ebf823210f95543999e3116:

  Make 'loops' honor full write+verify loops (2015-02-24 14:50:57 -0800)

----------------------------------------------------------------
Jens Axboe (1):
      Make 'loops' honor full write+verify loops

 backend.c |    6 ++++--
 fio.h     |    1 +
 init.c    |    4 ++++
 3 files changed, 9 insertions(+), 2 deletions(-)

---

Diff of recent changes:

diff --git a/backend.c b/backend.c
index 3430e66..fdb7413 100644
--- a/backend.c
+++ b/backend.c
@@ -658,10 +658,10 @@ static unsigned int exceeds_number_ios(struct thread_data 
*td)
        if (!td->o.number_ios)
                return 0;
 
-       number_ios = ddir_rw_sum(td->this_io_blocks);
+       number_ios = ddir_rw_sum(td->io_blocks);
        number_ios += td->io_u_queued + td->io_u_in_flight;
 
-       return number_ios >= td->o.number_ios;
+       return number_ios >= (td->o.number_ios * td->loops);
 }
 
 static int io_issue_bytes_exceeded(struct thread_data *td)
@@ -682,6 +682,7 @@ static int io_issue_bytes_exceeded(struct thread_data *td)
        else
                limit = td->o.size;
 
+       limit *= td->loops;
        return bytes >= limit || exceeds_number_ios(td);
 }
 
@@ -703,6 +704,7 @@ static int io_complete_bytes_exceeded(struct thread_data 
*td)
        else
                limit = td->o.size;
 
+       limit *= td->loops;
        return bytes >= limit || exceeds_number_ios(td);
 }
 
diff --git a/fio.h b/fio.h
index d28f8ce..f688084 100644
--- a/fio.h
+++ b/fio.h
@@ -240,6 +240,7 @@ struct thread_data {
         */
        uint64_t io_issues[DDIR_RWDIR_CNT];
        uint64_t io_issue_bytes[DDIR_RWDIR_CNT];
+       uint64_t loops;
 
        /*
         * Completions
diff --git a/init.c b/init.c
index c210ad2..7aedf2b 100644
--- a/init.c
+++ b/init.c
@@ -763,6 +763,10 @@ static int fixup_options(struct thread_data *td)
                fio_gtod_offload = 1;
        }
 
+       td->loops = o->loops;
+       if (!td->loops)
+               td->loops = 1;
+
        return ret;
 }
 
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to