X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=df36f14e6e895d74d8712e7cdd77ca7f842f304c;hp=791b005e49cf429cbaa99be3cadbdb64680c428a;hb=56bb17f297c50b2832c845b0f6cdde5063748b34;hpb=690089990d051d86b4ef2b6fd5c1972c0dd4897b diff --git a/fio.h b/fio.h index 791b005e..df36f14e 100644 --- a/fio.h +++ b/fio.h @@ -18,6 +18,12 @@ #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; @@ -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 */ }; /* @@ -160,6 +162,8 @@ struct fio_file { unsigned long *file_map; unsigned int num_maps; + + unsigned int unlink; }; /* @@ -210,6 +214,7 @@ 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 fsync_blocks; @@ -221,6 +226,8 @@ struct thread_data { unsigned long long zone_size; unsigned long long zone_skip; enum fio_memtype mem_type; + char *hugefile; + int hugefd; unsigned int stonewall; unsigned int numjobs; unsigned int iodepth; @@ -358,6 +365,7 @@ extern int terse_output; extern FILE *f_out; extern FILE *f_err; extern int temp_stall_ts; +extern unsigned long long mlock_size; extern struct thread_data *threads; @@ -437,9 +445,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, struct timeval *); +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 *);