projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
iolog: fix build with zlib not being installed
[fio.git]
/
fio.h
diff --git
a/fio.h
b/fio.h
index 5e8ac66686d30753519139f80903a4f3a11281d9..6f85266c2f695432cb405a6bc260f974a2ced2ea 100644
(file)
--- a/
fio.h
+++ b/
fio.h
@@
-95,12
+95,16
@@
enum {
FIO_RAND_SEQ_RAND_TRIM_OFF,
FIO_RAND_START_DELAY,
FIO_DEDUPE_OFF,
FIO_RAND_SEQ_RAND_TRIM_OFF,
FIO_RAND_START_DELAY,
FIO_DEDUPE_OFF,
+ FIO_RAND_POISSON_OFF,
FIO_RAND_NR_OFFS,
};
enum {
IO_MODE_INLINE = 0,
FIO_RAND_NR_OFFS,
};
enum {
IO_MODE_INLINE = 0,
- IO_MODE_OFFLOAD,
+ IO_MODE_OFFLOAD = 1,
+
+ RATE_PROCESS_LINEAR = 0,
+ RATE_PROCESS_POISSON = 1,
};
/*
};
/*
@@
-125,7
+129,7
@@
struct thread_data {
struct io_log *bw_log;
struct io_log *iops_log;
struct io_log *bw_log;
struct io_log *iops_log;
- struct
tp_data *tp_data
;
+ struct
workqueue log_compress_wq
;
struct thread_data *parent;
struct thread_data *parent;
@@
-243,6
+247,8
@@
struct thread_data {
unsigned long rate_blocks[DDIR_RWDIR_CNT];
unsigned long rate_io_issue_bytes[DDIR_RWDIR_CNT];
struct timeval lastrate[DDIR_RWDIR_CNT];
unsigned long rate_blocks[DDIR_RWDIR_CNT];
unsigned long rate_io_issue_bytes[DDIR_RWDIR_CNT];
struct timeval lastrate[DDIR_RWDIR_CNT];
+ int64_t last_usec;
+ struct frand_state poisson_state;
/*
* Enforced rate submission/completion workqueue
/*
* Enforced rate submission/completion workqueue
@@
-533,8
+539,8
@@
extern void td_restore_runstate(struct thread_data *, int);
*/
#define FIO_REAP_TIMEOUT 60
*/
#define FIO_REAP_TIMEOUT 60
-#define TERMINATE_ALL (-1)
-extern void fio_terminate_threads(int);
+#define TERMINATE_ALL (-1
U
)
+extern void fio_terminate_threads(
unsigned
int);
extern void fio_mark_td_terminate(struct thread_data *);
/*
extern void fio_mark_td_terminate(struct thread_data *);
/*
@@
-559,6
+565,10
@@
extern int is_blktrace(const char *, int *);
extern int load_blktrace(struct thread_data *, const char *, int);
#endif
extern int load_blktrace(struct thread_data *, const char *, int);
#endif
+extern int io_queue_event(struct thread_data *td, struct io_u *io_u, int *ret,
+ enum fio_ddir ddir, uint64_t *bytes_issued, int from_verify,
+ struct timeval *comp_time);
+
/*
* Latency target helpers
*/
/*
* Latency target helpers
*/