X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=56ed248551a5f6158dedf99eb0e4033f2bf0bf2d;hp=4bb1f6c6d275a639e180ed3fcf53b2de32e1c4a5;hb=6bedbfafcffbc7202b5bb621ac5886aafdc0f362;hpb=ef9c5c40a9f4b0ce3be9f13cedaaf7e2a90d47a6 diff --git a/fio.h b/fio.h index 4bb1f6c6..56ed2485 100644 --- a/fio.h +++ b/fio.h @@ -25,11 +25,12 @@ enum fio_ddir { }; struct io_stat { - unsigned long long val; - unsigned long long val_sq; unsigned long max_val; unsigned long min_val; unsigned long samples; + + double mean; + double S; }; struct io_sample { @@ -74,6 +75,9 @@ struct io_u { unsigned int buflen; unsigned long long offset; + void *xfer_buf; + unsigned int xfer_buflen; + unsigned int resid; unsigned int error; @@ -142,6 +146,7 @@ enum fio_ioengine_flags { FIO_CPUIO = 1 << 1, FIO_MMAPIO = 1 << 2, FIO_RAWIO = 1 << 3, + FIO_NETIO = 1 << 4, }; struct fio_file { @@ -166,10 +171,16 @@ struct fio_file { unsigned int unlink; }; +/* + * How many depth levels to log + */ +#define FIO_IO_U_MAP_NR 8 + /* * This describes a single thread/process executing a fio job. */ struct thread_data { + char *description; char *name; char *directory; char *filename; @@ -217,6 +228,7 @@ struct thread_data { unsigned int hugepage_size; unsigned int rw_min_bs; unsigned int thinktime; + unsigned int thinktime_blocks; unsigned int fsync_blocks; unsigned int start_delay; unsigned long timeout; @@ -262,6 +274,8 @@ 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 long total_io_u; struct list_head io_u_freelist; struct list_head io_u_busylist; @@ -455,7 +469,11 @@ extern void update_io_ticks(void); extern void disk_util_timer_arm(void); extern void setup_log(struct io_log **); extern void finish_log(struct thread_data *, struct io_log *, const char *); +extern void __finish_log(struct io_log *, const char *); extern int setup_rate(struct thread_data *); +extern struct io_log *agg_io_log[2]; +extern int write_bw_log; +extern void add_agg_sample(unsigned long, enum fio_ddir); /* * Time functions