X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=04963cd8b1680e6cb7062e8eb0696eba579310a9;hp=fdc2c7e04b178175bd1882c1534430b6f347cee0;hb=72ddbe7981ab5d1c0eb64c952b29bdf6505afdec;hpb=a64e88dad0c0e4a510ae8ab54cde1a20b99c59d1 diff --git a/fio.h b/fio.h index fdc2c7e0..04963cd8 100644 --- a/fio.h +++ b/fio.h @@ -135,6 +135,7 @@ struct thread_options { unsigned int use_os_rand; unsigned int write_lat_log; unsigned int write_bw_log; + unsigned int write_iops_log; unsigned int norandommap; unsigned int softrandommap; unsigned int bs_unaligned; @@ -153,6 +154,7 @@ struct thread_options { unsigned long long ramp_time; unsigned int overwrite; unsigned int bw_avg_time; + unsigned int iops_avg_time; unsigned int loops; unsigned long long zone_size; unsigned long long zone_skip; @@ -193,12 +195,13 @@ struct thread_options { unsigned long long trim_backlog; unsigned int clat_percentiles; unsigned int overwrite_plist; - double percentile_list[FIO_IO_U_LIST_MAX_LEN]; + fio_fp64_t percentile_list[FIO_IO_U_LIST_MAX_LEN]; char *read_iolog_file; char *write_iolog_file; char *bw_log_file; char *lat_log_file; + char *iops_log_file; char *replay_redirect; /* @@ -261,9 +264,13 @@ struct thread_data { struct io_log *clat_log; struct io_log *lat_log; struct io_log *bw_log; + struct io_log *iops_log; uint64_t stat_io_bytes[2]; - struct timeval stat_sample_time[2]; + struct timeval bw_sample_time; + + uint64_t stat_io_blocks[2]; + struct timeval iops_sample_time; struct rusage ru_start; struct rusage ru_end; @@ -361,6 +368,7 @@ struct thread_data { unsigned long io_issues[2]; unsigned long long io_blocks[2]; + unsigned long long this_io_blocks[2]; unsigned long long io_bytes[2]; unsigned long long io_skip_bytes; unsigned long long this_io_bytes[2]; @@ -470,6 +478,9 @@ enum { #define td_vmsg(td, err, msg, func) \ __td_verror((td), (err), (msg), (func)) +#define __fio_stringify_1(x) #x +#define __fio_stringify(x) __fio_stringify_1(x) + extern int exitall_on_terminate; extern int thread_number; extern int nr_process, nr_thread; @@ -491,6 +502,7 @@ extern int terse_version; extern int is_backend; extern int nr_clients; extern int log_syslog; +extern const fio_fp64_t def_percentile_list[FIO_IO_U_LIST_MAX_LEN]; extern struct thread_data *threads; @@ -532,6 +544,7 @@ static inline int should_fsync(struct thread_data *td) */ extern int __must_check parse_options(int, char **); extern int parse_jobs_ini(char *, int, int); +extern int parse_cmd_line(int, char **); extern int exec_run(void); extern void reset_fio_state(void); extern int fio_options_parse(struct thread_data *, char **, int); @@ -575,6 +588,8 @@ enum { }; extern void td_set_runstate(struct thread_data *, int); +#define TERMINATE_ALL (-1) +extern void fio_terminate_threads(int); /* * Memory helpers @@ -686,4 +701,7 @@ static inline void td_io_u_free_notify(struct thread_data *td) pthread_cond_signal(&td->free_cond); } +extern const char *fio_get_arch_string(int); +extern const char *fio_get_os_string(int); + #endif