X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=1b933ca137c43632eeb98c620b2fbc47f711a2bd;hp=faa0cfb7427a5549bc31119d5808fd222dfd968e;hb=d59d31aff657005e63b48807230bbe42b464e537;hpb=1e531487b1f0cc72db9c94b435cd4b19427d6177;ds=sidebyside diff --git a/fio.h b/fio.h index faa0cfb7..1b933ca1 100644 --- a/fio.h +++ b/fio.h @@ -34,7 +34,7 @@ enum td_ddir { TD_DDIR_RAND = 1 << 2, TD_DDIR_RW = TD_DDIR_READ | TD_DDIR_WRITE, TD_DDIR_RANDREAD = TD_DDIR_READ | TD_DDIR_RAND, - TD_DDIR_RANDWRITE = TD_DDIR_WRITE | TD_DDIR_READ, + TD_DDIR_RANDWRITE = TD_DDIR_WRITE | TD_DDIR_RAND, TD_DDIR_RANDRW = TD_DDIR_RW | TD_DDIR_RAND, }; @@ -248,7 +248,20 @@ struct fio_file { unsigned int unlink; }; +/* + * How many depth levels to log + */ +#define FIO_IO_U_MAP_NR 8 +#define FIO_IO_U_LAT_NR 12 + struct thread_stat { + char *name; + char *verror; + int error; + int groupid; + pid_t pid; + char *description; + struct io_log *slat_log; struct io_log *clat_log; struct io_log *bw_log; @@ -271,13 +284,18 @@ struct thread_stat { unsigned long usr_time; unsigned long sys_time; unsigned long ctx; -}; -/* - * How many depth levels to log - */ -#define FIO_IO_U_MAP_NR 8 -#define FIO_IO_U_LAT_NR 12 + /* + * IO depth and latency stats + */ + unsigned int io_u_map[FIO_IO_U_MAP_NR]; + unsigned int io_u_lat[FIO_IO_U_LAT_NR]; + unsigned long total_io_u; + + unsigned long long io_bytes[2]; + unsigned long runtime[2]; + unsigned long total_run_time; +}; /* * This describes a single thread/process executing a fio job. @@ -361,6 +379,7 @@ struct thread_data { unsigned int rwmixwrite; unsigned int nice; unsigned int file_service_type; + unsigned int group_reporting; char *read_iolog_file; char *write_iolog_file; @@ -385,9 +404,6 @@ struct thread_data { * Current IO depth and list of free and busy io_u's. */ unsigned int cur_depth; - unsigned int io_u_map[FIO_IO_U_MAP_NR]; - unsigned int io_u_lat[FIO_IO_U_LAT_NR]; - unsigned long total_io_u; struct list_head io_u_freelist; struct list_head io_u_busylist; struct list_head io_u_requeues; @@ -404,7 +420,6 @@ struct thread_data { unsigned long rate_bytes; struct timeval lastrate; - unsigned long runtime[2]; /* msec */ unsigned long long io_size; unsigned long long total_file_size; unsigned long long start_offset; @@ -430,7 +445,6 @@ struct thread_data { struct timeval start; /* start of this loop */ struct timeval epoch; /* time job was started */ - struct timeval end_time;/* time job ended */ /* * read/write mixed workload state @@ -672,6 +686,7 @@ extern void requeue_io_u(struct thread_data *, struct io_u **); extern long __must_check io_u_sync_complete(struct thread_data *, struct io_u *); extern long __must_check io_u_queued_complete(struct thread_data *, int); extern void io_u_queued(struct thread_data *, struct io_u *); +extern void io_u_log_error(struct thread_data *, struct io_u *); extern void io_u_init_timeout(void); extern void io_u_set_timeout(struct thread_data *);