#include <string.h>
#include "fio.h"
+#include "lib/pow2.h"
static char __run_str[REAL_MAX_JOBS + 1];
static char run_str[__THREAD_RUNSTR_SZ(REAL_MAX_JOBS)];
-static void update_condensed_str(char *run_str, char *run_str_condensed)
+static void update_condensed_str(char *rstr, char *run_str_condensed)
{
- if (*run_str) {
- while (*run_str) {
+ if (*rstr) {
+ while (*rstr) {
int nr = 1;
- *run_str_condensed++ = *run_str++;
- while (*(run_str - 1) == *run_str) {
- run_str++;
+ *run_str_condensed++ = *rstr++;
+ while (*(rstr - 1) == *rstr) {
+ rstr++;
nr++;
}
run_str_condensed += sprintf(run_str_condensed, "(%u),", nr);
* if given, otherwise assume it'll run at the specified rate.
*/
if (td->o.timeout) {
- uint64_t timeout = td->o.timeout;
+ uint64_t __timeout = td->o.timeout;
uint64_t start_delay = td->o.start_delay;
uint64_t ramp_time = td->o.ramp_time;
- t_eta = timeout + start_delay + ramp_time;
+ t_eta = __timeout + start_delay + ramp_time;
t_eta /= 1000000ULL;
if (in_ramp_time(td)) {
} else if (td->runstate == TD_RAMP) {
je->nr_running++;
je->nr_ramp++;
- } else if (td->runstate == TD_SETTING_UP) {
- je->nr_running++;
+ } else if (td->runstate == TD_SETTING_UP)
je->nr_setting_up++;
- } else if (td->runstate < TD_RUNNING)
+ else if (td->runstate < TD_RUNNING)
je->nr_pending++;
if (je->elapsed_sec >= 3)
if (!eta_new_line_init) {
fio_gettime(&disp_eta_new_line, NULL);
eta_new_line_init = 1;
- } else if (eta_new_line &&
- mtime_since_now(&disp_eta_new_line) > eta_new_line * 1000) {
+ } else if (eta_new_line && mtime_since_now(&disp_eta_new_line) > eta_new_line) {
fio_gettime(&disp_eta_new_line, NULL);
eta_new_line_pending = 1;
}
*size = sizeof(*je) + THREAD_RUNSTR_SZ;
je = malloc(*size);
+ if (!je)
+ return NULL;
memset(je, 0, *size);
- if (!calc_thread_status(je, 0)) {
+ if (!calc_thread_status(je, force)) {
free(je);
return NULL;
}
+ *size = sizeof(*je) + strlen((char *) je->run_str) + 1;
return je;
}