X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=stat.c;h=d5240d96a25b7f2f8f8ffc69abefe2f47b12d322;hp=1effbfe9c5b452c625574a3cce02bd87ccdb074a;hb=4027b2a142c01869a913c8c0654e3392ef1d0489;hpb=b02e3212f23d0957f47e88b1a6cf7517dbd72e3f diff --git a/stat.c b/stat.c index 1effbfe9..d5240d96 100644 --- a/stat.c +++ b/stat.c @@ -1398,7 +1398,7 @@ static struct json_object *show_thread_status_json(struct thread_stat *ts, if (ts->ss_dur) { struct json_object *data; struct json_array *iops, *bw; - int i, j, k; + int j, k, l; char ss_buf[64]; snprintf(ss_buf, sizeof(ss_buf), "%s%s:%f%s", @@ -1434,8 +1434,8 @@ static struct json_object *show_thread_status_json(struct thread_stat *ts, j = ts->ss_head; else j = ts->ss_head == 0 ? ts->ss_dur - 1 : ts->ss_head - 1; - for (i = 0; i < ts->ss_dur; i++) { - k = (j + i) % ts->ss_dur; + for (l = 0; l < ts->ss_dur; l++) { + k = (j + l) % ts->ss_dur; json_array_add_value_int(bw, ts->ss_bw_data[k]); json_array_add_value_int(iops, ts->ss_iops_data[k]); } @@ -1934,6 +1934,8 @@ void __show_run_stats(void) buf_output_free(out); } + fio_idle_prof_cleanup(); + log_info_flush(); free(runstats); free(threadstats); @@ -2205,12 +2207,14 @@ static struct io_logs *get_cur_log(struct io_log *iolog) * submissions, flag 'td' as needing a log regrow and we'll take * care of it on the submission side. */ - if (iolog->td->o.io_submit_mode == IO_MODE_OFFLOAD || + if ((iolog->td && iolog->td->o.io_submit_mode == IO_MODE_OFFLOAD) || !per_unit_log(iolog)) return regrow_log(iolog); - iolog->td->flags |= TD_F_REGROW_LOGS; - assert(iolog->pending->nr_samples < iolog->pending->max_samples); + if (iolog->td) + iolog->td->flags |= TD_F_REGROW_LOGS; + if (iolog->pending) + assert(iolog->pending->nr_samples < iolog->pending->max_samples); return iolog->pending; }