X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=e74bdb3c81e3f8590db68cc0d3158bd9326b2f5b;hp=67388ae81ecd86bb18cb382efc5663c87f64b7be;hb=ad705bcb;hpb=d7df1d133b0c3daad4ae4c731e0dae7b0181fd62 diff --git a/fio.h b/fio.h index 67388ae8..e74bdb3c 100644 --- a/fio.h +++ b/fio.h @@ -102,11 +102,13 @@ struct thread_options { char *name; char *directory; char *filename; + char *filename_format; char *opendir; char *ioengine; enum td_ddir td_ddir; unsigned int rw_seq; unsigned int kb_base; + unsigned int unit_base; unsigned int ddir_seq_nr; long ddir_seq_add; unsigned int iodepth; @@ -135,7 +137,6 @@ struct thread_options { unsigned int nr_files; unsigned int open_files; enum file_lock_mode file_lock_mode; - unsigned int lockfile_batch; unsigned int odirect; unsigned int invalidate_cache; @@ -355,6 +356,8 @@ struct thread_data { uint64_t stat_io_blocks[DDIR_RWDIR_CNT]; struct timeval iops_sample_time; + volatile int update_rusage; + struct fio_mutex *rusage_sem; struct rusage ru_start; struct rusage ru_end; @@ -684,7 +687,7 @@ extern void fio_options_mem_dupe(struct thread_data *); extern void options_mem_dupe(void *data, struct fio_option *options); extern void td_fill_rand_seeds(struct thread_data *); extern void add_job_opts(const char **); -extern char *num2str(unsigned long, int, int, int); +extern char *num2str(unsigned long, int, int, int, int); extern int ioengine_load(struct thread_data *); #define FIO_GETOPT_JOB 0x89000000 @@ -806,6 +809,14 @@ static inline int should_check_rate(struct thread_data *td, return ret; } +static inline unsigned int td_max_bs(struct thread_data *td) +{ + unsigned int max_bs; + + max_bs = max(td->o.max_bs[DDIR_READ], td->o.max_bs[DDIR_WRITE]); + return max(td->o.max_bs[DDIR_TRIM], max_bs); +} + static inline int is_power_of_2(unsigned int val) { return (val != 0 && ((val & (val - 1)) == 0));