#include <dirent.h>
#include <libgen.h>
#include <math.h>
-#include <assert.h>
#include "fio.h"
mean = src->mean;
S = src->S;
} else {
- mean = ((src->mean * (double) nr) + dst->mean) / ((double) nr + 1.0);
- S = ((src->S * (double) nr) + dst->S) / ((double) nr + 1.0);
+ mean = ((src->mean * (double) (nr - 1)) + dst->mean) / ((double) nr);
+ S = ((src->S * (double) (nr - 1)) + dst->S) / ((double) nr);
}
dst->mean = mean;
members++;
if (!ts->groupid) {
+ /*
+ * These are per-group shared already
+ */
ts->name = td->name;
ts->description = td->description;
- ts->error = td->error;
ts->groupid = td->groupid;
+
+ /*
+ * first pid in group, not very useful...
+ */
ts->pid = td->pid;
+ }
+
+ if (td->error && !ts->error) {
+ ts->error = td->error;
ts->verror = td->verror;
}
rbw = wbw = 0;
if (ts->runtime[0])
- rbw = td->io_bytes[0] / (unsigned long long) ts->runtime[0];
+ rbw = ts->io_bytes[0] / (unsigned long long) ts->runtime[0];
if (ts->runtime[1])
- wbw = td->io_bytes[1] / (unsigned long long) ts->runtime[1];
+ wbw = ts->io_bytes[1] / (unsigned long long) ts->runtime[1];
if (rbw < rs->min_bw[0])
rs->min_bw[0] = rbw;