From: Jens Axboe Date: Wed, 24 Oct 2018 21:43:29 +0000 (-0600) Subject: target: fixes X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=refs%2Fheads%2Flatency-probe;p=fio.git target: fixes 1) Use parent for should_account(), if we have a parent 2) Only sum step stats if src has them, to prevent overwriting destination stats in the parent. 3) Pretty up the normal output a bit Signed-off-by: Jens Axboe --- diff --git a/io_u.c b/io_u.c index e1ac2097..0c5bbad8 100644 --- a/io_u.c +++ b/io_u.c @@ -1752,6 +1752,9 @@ static void file_log_write_comp(const struct thread_data *td, struct fio_file *f static bool should_account(struct thread_data *td) { + if (td->parent) + td = td->parent; + return lat_step_account(td) && ramp_time_over(td) && (td->runstate == TD_RUNNING || td->runstate == TD_VERIFYING); } diff --git a/stat.c b/stat.c index 26125fad..13e7ff25 100644 --- a/stat.c +++ b/stat.c @@ -1717,8 +1717,11 @@ void sum_thread_stats(struct thread_stat *dst, struct thread_stat *src, dst->total_complete += src->total_complete; dst->nr_zone_resets += src->nr_zone_resets; - for (l = 0; l < ARRAY_SIZE(dst->step_stats); l++) + for (l = 0; l < ARRAY_SIZE(dst->step_stats); l++) { + if (!__lat_ts_has_stats(src, l)) + continue; sum_lat_step_stats(&dst->step_stats[l], &src->step_stats[l], first); + } } void init_group_run_stat(struct group_run_stats *gs) diff --git a/target.c b/target.c index d372ff1b..bc153008 100644 --- a/target.c +++ b/target.c @@ -296,7 +296,12 @@ void lat_step_report(struct thread_stat *ts, struct buf_output *out) if (!ls->iops[j]) continue; - __log_buf(out, " %s: iops=%llu, lat=%.1f nsec\n", + if (!j) + __log_buf(out, " [%2d] ", i); + else + __log_buf(out, " "); + + __log_buf(out, "%5s: iops=%llu, lat=%.1f nsec\n", io_ddir_name(j), (unsigned long long) ls->iops[j], ls->avg[j].u.f);