TD_F_VSTATE_SAVED = 1U << 10,
TD_F_NEED_LOCK = 1U << 11,
TD_F_CHILD = 1U << 12,
+ TD_F_NO_PROGRESS = 1U << 13,
};
enum {
* Rate state
*/
uint64_t rate_bps[DDIR_RWDIR_CNT];
- long rate_pending_usleep[DDIR_RWDIR_CNT];
+ unsigned long rate_next_io_time[DDIR_RWDIR_CNT];
unsigned long rate_bytes[DDIR_RWDIR_CNT];
unsigned long rate_blocks[DDIR_RWDIR_CNT];
+ unsigned long rate_io_issue_bytes[DDIR_RWDIR_CNT];
struct timeval lastrate[DDIR_RWDIR_CNT];
/*
extern char *trigger_cmd;
extern char *trigger_remote_cmd;
extern long long trigger_timeout;
+extern char *aux_path;
extern struct thread_data *threads;
TD_FINISHING,
TD_EXITED,
TD_REAPED,
+ TD_LAST,
};
extern void td_set_runstate(struct thread_data *, int);
extern const char *fio_get_os_string(int);
#ifdef FIO_INTERNAL
-#define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0])))
+#define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0])))
+#define FIELD_SIZE(s, f) (sizeof(((typeof(s))0)->f))
#endif
enum {