};
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 {
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 */
};
/*
unsigned long *file_map;
unsigned int num_maps;
+
+ 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.
*/
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;
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;
* 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;