projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for multiple output formats
[fio.git]
/
eta.c
diff --git
a/eta.c
b/eta.c
index aed61ecca935b1406985e9bdd64039d25a890664..ba066546bcd485552032eeb1d9d2eba1488c86b0 100644
(file)
--- a/
eta.c
+++ b/
eta.c
@@
-290,14
+290,19
@@
static void calc_rate(int unified_rw_rep, unsigned long mtime,
int i;
for (i = 0; i < DDIR_RWDIR_CNT; i++) {
int i;
for (i = 0; i < DDIR_RWDIR_CNT; i++) {
- unsigned long long diff;
+ unsigned long long diff
, this_rate
;
diff = io_bytes[i] - prev_io_bytes[i];
diff = io_bytes[i] - prev_io_bytes[i];
+ if (mtime)
+ this_rate = ((1000 * diff) / mtime) / 1024;
+ else
+ this_rate = 0;
+
if (unified_rw_rep) {
rate[i] = 0;
if (unified_rw_rep) {
rate[i] = 0;
- rate[0] +=
((1000 * diff) / mtime) / 1024
;
+ rate[0] +=
this_rate
;
} else
} else
- rate[i] =
((1000 * diff) / mtime) / 1024
;
+ rate[i] =
this_rate
;
prev_io_bytes[i] = io_bytes[i];
}
prev_io_bytes[i] = io_bytes[i];
}
@@
-310,14
+315,19
@@
static void calc_iops(int unified_rw_rep, unsigned long mtime,
int i;
for (i = 0; i < DDIR_RWDIR_CNT; i++) {
int i;
for (i = 0; i < DDIR_RWDIR_CNT; i++) {
- unsigned long long diff;
+ unsigned long long diff
, this_iops
;
diff = io_iops[i] - prev_io_iops[i];
diff = io_iops[i] - prev_io_iops[i];
+ if (mtime)
+ this_iops = (diff * 1000) / mtime;
+ else
+ this_iops = 0;
+
if (unified_rw_rep) {
iops[i] = 0;
if (unified_rw_rep) {
iops[i] = 0;
- iops[0] +=
(diff * 1000) / mtime
;
+ iops[0] +=
this_iops
;
} else
} else
- iops[i] =
(diff * 1000) / mtime
;
+ iops[i] =
this_iops
;
prev_io_iops[i] = io_iops[i];
}
prev_io_iops[i] = io_iops[i];
}
@@
-342,7
+352,7
@@
int calc_thread_status(struct jobs_eta *je, int force)
static struct timeval rate_prev_time, disp_prev_time;
if (!force) {
static struct timeval rate_prev_time, disp_prev_time;
if (!force) {
- if (
output_format != FIO_OUTPUT_NORMAL
&&
+ if (
!(output_format & FIO_OUTPUT_NORMAL)
&&
f_out == stdout)
return 0;
if (temp_stall_ts || eta_print == FIO_ETA_NEVER)
f_out == stdout)
return 0;
if (temp_stall_ts || eta_print == FIO_ETA_NEVER)
@@
-580,7
+590,7
@@
struct jobs_eta *get_jobs_eta(int force, size_t *size)
if (!thread_number)
return NULL;
if (!thread_number)
return NULL;
- *size = sizeof(*je) + THREAD_RUNSTR_SZ;
+ *size = sizeof(*je) + THREAD_RUNSTR_SZ
+ 1
;
je = malloc(*size);
if (!je)
return NULL;
je = malloc(*size);
if (!je)
return NULL;