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;
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 {
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);
}
}
if (td->exec_prerun)
system(td->exec_prerun);
+ init_disk_util(td);
fio_gettime(&td->epoch, NULL);
getrusage(RUSAGE_SELF, &td->ru_start);
for_each_td(td, i) {
print_status_init(td->thread_number - 1);
- init_disk_util(td);
-
if (!td->create_serialize)
continue;