[PATCH] Pretty up command help output
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index 1115c62ea3b7555fdaf6e43368b15c6e3086099e..2f41eda23742b0499c10441ac93c2082b8a5bb3c 100644 (file)
--- a/fio.h
+++ b/fio.h
 #include "arch.h"
 #include "os.h"
 
+enum fio_ddir {
+       DDIR_READ = 0,
+       DDIR_WRITE,
+       DDIR_SYNC,
+};
+
 struct io_stat {
-       unsigned long val;
-       unsigned long val_sq;
+       unsigned long long val;
+       unsigned long long val_sq;
        unsigned long max_val;
        unsigned long min_val;
        unsigned long samples;
@@ -29,7 +35,7 @@ struct io_stat {
 struct io_sample {
        unsigned long time;
        unsigned long val;
-       unsigned int ddir;
+       enum fio_ddir ddir;
 };
 
 struct io_log {
@@ -43,7 +49,7 @@ struct io_piece {
        struct fio_file *file;
        unsigned long long offset;
        unsigned int len;
-       int ddir;
+       enum fio_ddir ddir;
 };
 
 /*
@@ -71,7 +77,7 @@ struct io_u {
        unsigned int resid;
        unsigned int error;
 
-       unsigned char ddir;
+       enum fio_ddir ddir;
 
        /*
         * io engine private data
@@ -111,19 +117,15 @@ struct group_run_stats {
        unsigned long long agg[2];
 };
 
-enum fio_ddir {
-       DDIR_READ = 0,
-       DDIR_WRITE,
-       DDIR_SYNC,
-};
-
 /*
  * What type of allocation to use for io buffers
  */
 enum fio_memtype {
        MEM_MALLOC = 0, /* ordinary malloc */
        MEM_SHM,        /* use shared memory segments */
+       MEM_SHMHUGE,    /* use shared memory segments with huge pages */
        MEM_MMAP,       /* use anonynomous mmap */
+       MEM_MMAPHUGE,   /* memory mapped huge file */
 };
 
 /*
@@ -156,9 +158,12 @@ struct fio_file {
        unsigned long long real_file_size;
        unsigned long long file_offset;
        unsigned long long last_pos;
+       unsigned long long last_completed_pos;
 
        unsigned long *file_map;
        unsigned int num_maps;
+
+       unsigned int unlink;
 };
 
 /*
@@ -209,8 +214,10 @@ struct thread_data {
        unsigned int bs[2];
        unsigned int min_bs[2];
        unsigned int max_bs[2];
+       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;
@@ -220,6 +227,8 @@ struct thread_data {
        unsigned long long zone_size;
        unsigned long long zone_skip;
        enum fio_memtype mem_type;
+       char *mmapfile;
+       int mmapfd;
        unsigned int stonewall;
        unsigned int numjobs;
        unsigned int iodepth;
@@ -307,6 +316,7 @@ struct thread_data {
 
        struct timeval start;   /* start of this loop */
        struct timeval epoch;   /* time job was started */
+       struct timeval end_time;/* time job ended */
 
        /*
         * fio system usage accounting
@@ -355,8 +365,8 @@ extern int groupid;
 extern int terse_output;
 extern FILE *f_out;
 extern FILE *f_err;
-extern const char *fio_inst_prefix;
 extern int temp_stall_ts;
+extern unsigned long long mlock_size;
 
 extern struct thread_data *threads;
 
@@ -411,6 +421,7 @@ struct io_completion_data {
 
        int error;                      /* output */
        unsigned long bytes_done[2];    /* output */
+       struct timeval time;            /* output */
 };
 
 #define DISK_UTIL_MSEC (250)
@@ -435,9 +446,9 @@ extern void write_iolog_close(struct thread_data *);
 /*
  * Logging
  */
-extern void add_clat_sample(struct thread_data *, int, unsigned long);
-extern void add_slat_sample(struct thread_data *, int, unsigned long);
-extern void add_bw_sample(struct thread_data *, int);
+extern void add_clat_sample(struct thread_data *, enum fio_ddir, unsigned long);
+extern void add_slat_sample(struct thread_data *, enum fio_ddir, unsigned long);
+extern void add_bw_sample(struct thread_data *, enum fio_ddir, struct timeval *);
 extern void show_run_stats(void);
 extern void init_disk_util(struct thread_data *);
 extern void update_rusage_stat(struct thread_data *);
@@ -450,8 +461,8 @@ extern int setup_rate(struct thread_data *);
 /*
  * Time functions
  */
-extern void time_init(void);
 extern unsigned long utime_since(struct timeval *, struct timeval *);
+extern unsigned long utime_since_now(struct timeval *);
 extern unsigned long mtime_since(struct timeval *, struct timeval *);
 extern unsigned long mtime_since_now(struct timeval *);
 extern unsigned long time_since_now(struct timeval *);
@@ -460,6 +471,7 @@ extern void __usec_sleep(unsigned int);
 extern void usec_sleep(struct thread_data *, unsigned long);
 extern void rate_throttle(struct thread_data *, unsigned long, unsigned int, int);
 extern void fill_start_time(struct timeval *);
+extern void fio_gettime(struct timeval *, void *);
 
 /*
  * Init functions