[PATCH] Support for > 1 network connection
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index d55a1e31c292b9f40dd57f8c1d72308f72e3f665..d635e99d0454f47241e199df671be79ddc7758d6 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -25,11 +25,12 @@ enum fio_ddir {
 };
 
 struct io_stat {
-       unsigned long val;
-       unsigned long val_sq;
        unsigned long max_val;
        unsigned long min_val;
        unsigned long samples;
+
+       double mean;
+       double S;
 };
 
 struct io_sample {
@@ -142,6 +143,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 +168,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 +225,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 +271,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 +466,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