Add ramp_time option
[fio.git] / io_u.c
diff --git a/io_u.c b/io_u.c
index 1dff88f1edf64a5a10d9ea296ee1f5ae51e72288..17db16b1cb3ad13a29a7d4c8e905b564f3e88573 100644 (file)
--- a/io_u.c
+++ b/io_u.c
@@ -903,24 +903,29 @@ static void io_completed(struct thread_data *td, struct io_u *io_u,
        if (!io_u->error) {
                unsigned int bytes = io_u->buflen - io_u->resid;
                const enum fio_ddir idx = io_u->ddir;
-               int ret;
+               int ret, ramp_done;
 
-               td->io_blocks[idx]++;
-               td->io_bytes[idx] += bytes;
-               td->this_io_bytes[idx] += bytes;
+               ramp_done = ramp_time_over(td);
 
-               usec = utime_since(&io_u->issue_time, &icd->time);
+               if (ramp_done) {
+                       td->io_blocks[idx]++;
+                       td->io_bytes[idx] += bytes;
+                       td->this_io_bytes[idx] += bytes;
 
-               add_clat_sample(td, idx, usec);
-               add_bw_sample(td, idx, &icd->time);
-               io_u_mark_latency(td, usec);
+                       usec = utime_since(&io_u->issue_time, &icd->time);
+
+                       add_clat_sample(td, idx, usec);
+                       add_bw_sample(td, idx, &icd->time);
+                       io_u_mark_latency(td, usec);
+               }
 
                if (td_write(td) && idx == DDIR_WRITE &&
                    td->o.do_verify &&
                    td->o.verify != VERIFY_NONE)
                        log_io_piece(td, io_u);
 
-               icd->bytes_done[idx] += bytes;
+               if (ramp_done)
+                       icd->bytes_done[idx] += bytes;
 
                if (io_u->end_io) {
                        ret = io_u->end_io(td, io_u);