#include "fio.h"
-static char run_str[MAX_JOBS + 1];
+static char run_str[REAL_MAX_JOBS + 1];
/*
* Sets the status of the 'td' in the printed status map.
break;
case TD_RUNNING:
if (td_rw(td)) {
- if (td_random(td))
- c = 'm';
- else
- c = 'M';
+ if (td_random(td)) {
+ if (td->o.rwmix[DDIR_READ] == 100)
+ c = 'r';
+ else if (td->o.rwmix[DDIR_WRITE] == 100)
+ c = 'w';
+ else
+ c = 'm';
+ } else {
+ if (td->o.rwmix[DDIR_READ] == 100)
+ c = 'R';
+ else if (td->o.rwmix[DDIR_WRITE] == 100)
+ c = 'W';
+ else
+ c = 'M';
+ }
} else if (td_read(td)) {
if (td_random(td))
c = 'r';
* if given, otherwise assume it'll run at the specified rate.
*/
if (td->o.timeout) {
- t_eta = td->o.timeout + td->o.start_delay;
+ t_eta = td->o.timeout + td->o.start_delay +
+ td->o.ramp_time;
if (in_ramp_time(td)) {
unsigned long ramp_left;
- ramp_left = mtime_since_now(&td->start);
+ ramp_left = mtime_since_now(&td->epoch);
ramp_left = (ramp_left + 999) / 1000;
if (ramp_left <= t_eta)
t_eta -= ramp_left;
}
disp_time = mtime_since(&disp_prev_time, &now);
- if (disp_time < 1000)
+
+ /*
+ * Allow a little slack, the target is to print it every 1000 msecs
+ */
+ if (disp_time < 900)
return;
calc_rate(disp_time, io_bytes, disp_io_bytes, rate);
fflush(stdout);
}
-void print_status_init(int thread_number)
+void print_status_init(int thr_number)
{
- run_str[thread_number] = 'P';
+ run_str[thr_number] = 'P';
}