uint32_t io_u_lat_u[FIO_IO_U_LAT_U_NR];
uint32_t io_u_lat_m[FIO_IO_U_LAT_M_NR];
uint32_t io_u_plat[DDIR_RWDIR_CNT][FIO_IO_U_PLAT_NR];
+ uint32_t pad;
+
uint64_t total_io_u[3];
uint64_t short_io_u[3];
uint64_t drop_io_u[3];
/*
* IO Error related stats
*/
- uint16_t continue_on_error;
+ union {
+ uint16_t continue_on_error;
+ uint64_t pad2;
+ };
uint64_t total_err_count;
uint32_t first_error;
uint32_t latency_depth;
uint64_t latency_target;
- uint16_t pad;
fio_fp64_t latency_percentile;
uint64_t latency_window;
} __attribute__((packed));
uint8_t run_str[];
} __attribute__((packed));
+extern struct fio_mutex *stat_mutex;
+
extern struct jobs_eta *get_jobs_eta(int force, size_t *size);
extern void stat_init(void);
extern void display_thread_status(struct jobs_eta *je);
extern void show_run_stats(void);
extern void __show_run_stats(void);
+extern void __show_running_run_stats(void);
extern void show_running_run_stats(void);
extern void check_for_running_stats(void);
extern void sum_thread_stats(struct thread_stat *dst, struct thread_stat *src, int nr);
extern void stat_calc_lat_u(struct thread_stat *ts, double *io_u_lat);
extern void stat_calc_dist(unsigned int *map, unsigned long total, double *io_u_dist);
extern void reset_io_stats(struct thread_data *);
-extern void create_status_interval_thread(void);
-extern void wait_for_status_interval_thread_exit(void);
static inline int usec_to_msec(unsigned long *min, unsigned long *max,
double *mean, double *dev)