summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
9576f61)
Currently we sum up read and write IOPS/BW rates, but that reads
a bit strange when a given workload only does reads OR writes.
The user then thinks that fio mis-parsed the setting, reading
twice as much as expected.
Only sum up for the read OR write side if one direction is given.
For a mixed workload, it's still the sum of both.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|| td->runstate == TD_FSYNCING
|| td->runstate == TD_PRE_READING) {
je->nr_running++;
|| td->runstate == TD_FSYNCING
|| td->runstate == TD_PRE_READING) {
je->nr_running++;
- je->t_rate += td->o.rate[0] + td->o.rate[1];
- je->m_rate += td->o.ratemin[0] + td->o.ratemin[1];
- je->t_iops += td->o.rate_iops[0] + td->o.rate_iops[1];
- je->m_iops += td->o.rate_iops_min[0] +
- td->o.rate_iops_min[1];
+ if (td_read(td)) {
+ je->t_rate += td->o.rate[DDIR_READ];
+ je->t_iops += td->o.rate_iops[DDIR_READ];
+ je->m_rate += td->o.ratemin[DDIR_READ];
+ je->m_iops += td->o.rate_iops_min[DDIR_READ];
+ }
+ if (td_write(td)) {
+ je->t_rate += td->o.rate[DDIR_WRITE];
+ je->t_iops += td->o.rate_iops[DDIR_WRITE];
+ je->m_rate += td->o.ratemin[DDIR_WRITE];
+ je->m_iops += td->o.rate_iops_min[DDIR_WRITE];
+ }
je->files_open += td->nr_open_files;
} else if (td->runstate == TD_RAMP) {
je->nr_running++;
je->files_open += td->nr_open_files;
} else if (td->runstate == TD_RAMP) {
je->nr_running++;