static void reset_io_counters(struct thread_data *td)
{
- td->ts.stat_io_bytes[0] = td->ts.stat_io_bytes[1] = 0;
+ td->stat_io_bytes[0] = td->stat_io_bytes[1] = 0;
td->this_io_bytes[0] = td->this_io_bytes[1] = 0;
td->zone_bytes = 0;
td->rate_bytes[0] = td->rate_bytes[1] = 0;
clear_state = 0;
while (keep_running(td)) {
fio_gettime(&td->start, NULL);
- memcpy(&td->ts.stat_sample_time[0], &td->start,
- sizeof(td->start));
- memcpy(&td->ts.stat_sample_time[1], &td->start,
- sizeof(td->start));
+ memcpy(&td->stat_sample_time[0], &td->start, sizeof(td->start));
+ memcpy(&td->stat_sample_time[1], &td->start, sizeof(td->start));
memcpy(&td->tv_cache, &td->start, sizeof(td->start));
if (td->o.ratemin[0] || td->o.ratemin[1])
- memcpy(&td->lastrate, &td->ts.stat_sample_time,
+ memcpy(&td->lastrate, &td->stat_sample_time,
sizeof(td->lastrate));
if (clear_state)
struct io_stat lat_stat[2]; /* total latency */
struct io_stat bw_stat[2]; /* bandwidth stats */
- uint64_t stat_io_bytes[2];
- struct timeval stat_sample_time[2];
-
/*
* fio system usage accounting
*/
struct io_log *lat_log;
struct io_log *bw_log;
+ uint64_t stat_io_bytes[2];
+ struct timeval stat_sample_time[2];
+
struct fio_file **files;
unsigned int files_size;
unsigned int files_index;
sum_stat(&ts->lat_stat[l], &td->ts.lat_stat[l], idx);
sum_stat(&ts->bw_stat[l], &td->ts.bw_stat[l], idx);
- ts->stat_io_bytes[l] += td->ts.stat_io_bytes[l];
ts->io_bytes[l] += td->ts.io_bytes[l];
if (ts->runtime[l] < td->ts.runtime[l])
if (!ddir_rw(ddir))
return;
- spent = mtime_since(&ts->stat_sample_time[ddir], t);
+ spent = mtime_since(&td->stat_sample_time[ddir], t);
if (spent < td->o.bw_avg_time)
return;
- rate = (td->this_io_bytes[ddir] - ts->stat_io_bytes[ddir]) *
+ rate = (td->this_io_bytes[ddir] - td->stat_io_bytes[ddir]) *
1000 / spent / 1024;
add_stat_sample(&ts->bw_stat[ddir], rate);
if (td->bw_log)
add_log_sample(td, td->bw_log, rate, ddir, bs);
- fio_gettime(&ts->stat_sample_time[ddir], NULL);
- ts->stat_io_bytes[ddir] = td->this_io_bytes[ddir];
+ fio_gettime(&td->stat_sample_time[ddir], NULL);
+ td->stat_io_bytes[ddir] = td->this_io_bytes[ddir];
}