struct thread_data;
+#define FIO_MAJOR 1
+#define FIO_MINOR 99
+#define FIO_PATCH 1
+
#include "compiler/compiler.h"
#include "flist.h"
#include "fifo.h"
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;
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;
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;
/*
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;
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];
#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;
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;
*/
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);