+ if (!rate_io_bytes[0] && !rate_io_bytes[1])
+ fill_start_time(&rate_prev_time);
+ if (!disp_io_bytes[0] && !disp_io_bytes[1])
+ fill_start_time(&disp_prev_time);
+
+ eta_secs = malloc(thread_number * sizeof(unsigned long));
+ memset(eta_secs, 0, thread_number * sizeof(unsigned long));
+
+ io_bytes[0] = io_bytes[1] = 0;
+ io_iops[0] = io_iops[1] = 0;
+ nr_pending = nr_running = t_rate = m_rate = t_iops = m_iops = 0;
+ nr_ramp = 0;
+ bw_avg_time = ULONG_MAX;
+ files_open = 0;
+ for_each_td(td, i) {
+ if (td->o.bw_avg_time < bw_avg_time)
+ bw_avg_time = td->o.bw_avg_time;
+ if (td->runstate == TD_RUNNING || td->runstate == TD_VERIFYING
+ || td->runstate == TD_FSYNCING
+ || td->runstate == TD_PRE_READING) {
+ nr_running++;
+ t_rate += td->o.rate[0] + td->o.rate[1];
+ m_rate += td->o.ratemin[0] + td->o.ratemin[1];
+ t_iops += td->o.rate_iops[0] + td->o.rate_iops[1];
+ m_iops += td->o.rate_iops_min[0] +
+ td->o.rate_iops_min[1];
+ files_open += td->nr_open_files;
+ } else if (td->runstate == TD_RAMP) {