iolog: remove 'td' from trim_io_piece()
[fio.git] / backend.c
index 033d5a707f2a896f161eab84299e2b1bf6a23de0..151210a439ba303a18c995d11fa08baac1c3bec7 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -432,9 +432,7 @@ static int wait_for_completions(struct thread_data *td, struct timespec *time)
        if ((full && !min_evts) || !td->o.iodepth_batch_complete_min)
                min_evts = 1;
 
-       if (time && (__should_check_rate(td, DDIR_READ) ||
-           __should_check_rate(td, DDIR_WRITE) ||
-           __should_check_rate(td, DDIR_TRIM)))
+       if (time && __should_check_rate(td))
                fio_gettime(time, NULL);
 
        do {
@@ -463,7 +461,7 @@ int io_queue_event(struct thread_data *td, struct io_u *io_u, int *ret,
                                *bytes_issued += bytes;
 
                        if (!from_verify)
-                               trim_io_piece(td, io_u);
+                               trim_io_piece(io_u);
 
                        /*
                         * zero read, fail
@@ -489,9 +487,7 @@ int io_queue_event(struct thread_data *td, struct io_u *io_u, int *ret,
                        requeue_io_u(td, &io_u);
                } else {
 sync_done:
-                       if (comp_time && (__should_check_rate(td, DDIR_READ) ||
-                           __should_check_rate(td, DDIR_WRITE) ||
-                           __should_check_rate(td, DDIR_TRIM)))
+                       if (comp_time && __should_check_rate(td))
                                fio_gettime(comp_time, NULL);
 
                        *ret = io_u_sync_complete(td, io_u);
@@ -892,6 +888,8 @@ static void handle_thinktime(struct thread_data *td, enum fio_ddir ddir)
                        over = (usperop - total) / usperop * -bs;
 
                td->rate_io_issue_bytes[ddir] += (missed - over);
+               /* adjust for rate_process=poisson */
+               td->last_usec[ddir] += total;
        }
 }
 
@@ -1531,7 +1529,7 @@ static void *thread_main(void *data)
        } else
                td->pid = gettid();
 
-       fio_local_clock_init(o->use_thread);
+       fio_local_clock_init();
 
        dprint(FD_PROCESS, "jobs pid=%d started\n", (int) td->pid);