ts->usr_time += mtime_since(&ts->ru_start.ru_utime, &ts->ru_end.ru_utime);
ts->sys_time += mtime_since(&ts->ru_start.ru_stime, &ts->ru_end.ru_stime);
ts->ctx += ts->ru_end.ru_nvcsw + ts->ru_end.ru_nivcsw - (ts->ru_start.ru_nvcsw + ts->ru_start.ru_nivcsw);
+ ts->minf += ts->ru_end.ru_minflt - ts->ru_start.ru_minflt;
+ ts->majf += ts->ru_end.ru_majflt - ts->ru_start.ru_majflt;
memcpy(&ts->ru_start, &ts->ru_end, sizeof(ts->ru_end));
}
if (calc_lat(&ts->slat_stat[ddir], &min, &max, &mean, &dev)) {
const char *base = "(usec)";
+ char *minp, *maxp;
if (!usec_to_msec(&min, &max, &mean, &dev))
base = "(msec)";
- log_info(" slat %s: min=%5lu, max=%5lu, avg=%5.02f, stdev=%5.02f\n", base, min, max, mean, dev);
+ minp = num2str(min, 6, 1, 0);
+ maxp = num2str(max, 6, 1, 0);
+
+ log_info(" slat %s: min=%s, max=%s, avg=%5.02f, stdev=%5.02f\n", base, minp, maxp, mean, dev);
+
+ free(minp);
+ free(maxp);
}
if (calc_lat(&ts->clat_stat[ddir], &min, &max, &mean, &dev)) {
const char *base = "(usec)";
+ char *minp, *maxp;
if (!usec_to_msec(&min, &max, &mean, &dev))
base = "(msec)";
- log_info(" clat %s: min=%5lu, max=%5lu, avg=%5.02f, stdev=%5.02f\n", base, min, max, mean, dev);
+ minp = num2str(min, 6, 1, 0);
+ maxp = num2str(max, 6, 1, 0);
+
+ log_info(" clat %s: min=%s, max=%s, avg=%5.02f, stdev=%5.02f\n", base, minp, maxp, mean, dev);
+
+ free(minp);
+ free(maxp);
}
if (calc_lat(&ts->bw_stat[ddir], &min, &max, &mean, &dev)) {
double p_of_agg;
if (io_u_lat[i] <= 0.0)
continue;
if (new_line) {
+ if (line)
+ log_info("\n");
log_info(" lat (%s): ", msg);
new_line = 0;
line = 0;
if (line == 5)
new_line = 1;
}
-
}
static void show_lat_u(double *io_u_lat_u)
static void show_latencies(double *io_u_lat_u, double *io_u_lat_m)
{
show_lat_u(io_u_lat_u);
+ log_info("\n");
show_lat_m(io_u_lat_m);
log_info("\n");
}
double io_u_lat_u[FIO_IO_U_LAT_U_NR];
double io_u_lat_m[FIO_IO_U_LAT_M_NR];
- if (!(ts->io_bytes[0] + ts->io_bytes[1]))
+ if (!(ts->io_bytes[0] + ts->io_bytes[1]) &&
+ !(ts->total_io_u[0] + ts->total_io_u[1]))
return;
if (!ts->error)
sys_cpu = 0;
}
- log_info(" cpu : usr=%3.2f%%, sys=%3.2f%%, ctx=%lu\n", usr_cpu, sys_cpu, ts->ctx);
+ log_info(" cpu : usr=%3.2f%%, sys=%3.2f%%, ctx=%lu, majf=%lu, minf=%lu\n", usr_cpu, sys_cpu, ts->ctx, ts->majf, ts->minf);
stat_calc_dist(ts, io_u_dist);
stat_calc_lat_u(ts, io_u_lat_u);
sys_cpu = 0;
}
- log_info(";%f%%;%f%%;%lu", usr_cpu, sys_cpu, ts->ctx);
+ log_info(";%f%%;%f%%;%lu;%lu;%lu", usr_cpu, sys_cpu, ts->ctx, ts->majf, ts->minf);
stat_calc_dist(ts, io_u_dist);
stat_calc_lat_u(ts, io_u_lat_u);
ts->usr_time += td->ts.usr_time;
ts->sys_time += td->ts.sys_time;
ts->ctx += td->ts.ctx;
+ ts->majf += td->ts.majf;
+ ts->minf += td->ts.minf;
for (k = 0; k < FIO_IO_U_MAP_NR; k++)
ts->io_u_map[k] += td->ts.io_u_map[k];