*/
static unsigned long long plat_idx_to_val(unsigned int idx)
{
- unsigned int error_bits, k, base;
+ unsigned int error_bits;
+ unsigned long long k, base;
assert(idx < FIO_IO_U_PLAT_NR);
/* Find the group and compute the minimum value of that group */
error_bits = (idx >> FIO_IO_U_PLAT_BITS) - 1;
- base = 1 << (error_bits + FIO_IO_U_PLAT_BITS);
+ base = ((unsigned long long) 1) << (error_bits + FIO_IO_U_PLAT_BITS);
/* Find its bucket number of the group */
k = idx % FIO_IO_U_PLAT_VAL;
else
bw_str = "kB";
+ if (rs->agg[ddir]) {
+ p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024);
+ if (p_of_agg > 100.0)
+ p_of_agg = 100.0;
+ }
+
if (rs->unit_base == 1) {
min *= 8.0;
max *= 8.0;
dev *= 8.0;
}
- if (rs->agg[ddir]) {
- p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024);
- if (p_of_agg > 100.0)
- p_of_agg = 100.0;
- }
-
if (mean > fkb_base * fkb_base) {
min /= fkb_base;
max /= fkb_base;
if (new_line) {
if (line)
log_buf(out, "\n");
- log_buf(out, " lat (%s) : ", msg);
+ log_buf(out, " lat (%s) : ", msg);
new_line = 0;
line = 0;
}
double p_of_agg = 100.0;
if (rs->agg[ddir]) {
- p_of_agg = mean * 100 / (double) rs->agg[ddir];
+ p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024);
if (p_of_agg > 100.0)
p_of_agg = 100.0;
}
if (calc_lat(&ts->bw_stat[ddir], &min, &max, &mean, &dev)) {
if (rs->agg[ddir]) {
- p_of_agg = mean * 100 / (double) rs->agg[ddir];
+ p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024);
if (p_of_agg > 100.0)
p_of_agg = 100.0;
}
if (iolog->disabled)
return;
if (flist_empty(&iolog->io_logs))
- iolog->avg_last = t;
+ iolog->avg_last[ddir] = t;
cur_log = get_cur_log(iolog);
if (cur_log) {
* If period hasn't passed, adding the above sample is all we
* need to do.
*/
- this_window = elapsed - iolog->avg_last;
- if (elapsed < iolog->avg_last)
- return iolog->avg_last - elapsed;
+ this_window = elapsed - iolog->avg_last[ddir];
+ if (elapsed < iolog->avg_last[ddir])
+ return iolog->avg_last[ddir] - elapsed;
else if (this_window < iolog->avg_msec) {
int diff = iolog->avg_msec - this_window;
return diff;
}
- _add_stat_to_log(iolog, elapsed, td->o.log_max != 0);
+ __add_stat_to_log(iolog, ddir, elapsed, td->o.log_max != 0);
- iolog->avg_last = elapsed - (this_window - iolog->avg_msec);
+ iolog->avg_last[ddir] = elapsed - (this_window - iolog->avg_msec);
return iolog->avg_msec;
}