projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
HOWTO: fix typo
[fio.git]
/
fio.h
diff --git
a/fio.h
b/fio.h
index ed034cbbf909d42997445e9693ba6268cd8188aa..136b43089285e1887a417c60d8f63a3d635e1176 100644
(file)
--- a/
fio.h
+++ b/
fio.h
@@
-73,6
+73,7
@@
enum {
TD_F_PROFILE_OPS = 64,
TD_F_COMPRESS = 128,
TD_F_NOIO = 256,
TD_F_PROFILE_OPS = 64,
TD_F_COMPRESS = 128,
TD_F_NOIO = 256,
+ TD_F_COMPRESS_LOG = 512,
};
enum {
};
enum {
@@
-88,6
+89,7
@@
enum {
FIO_RAND_SEQ_RAND_WRITE_OFF,
FIO_RAND_SEQ_RAND_TRIM_OFF,
FIO_RAND_START_DELAY,
FIO_RAND_SEQ_RAND_WRITE_OFF,
FIO_RAND_SEQ_RAND_TRIM_OFF,
FIO_RAND_START_DELAY,
+ FIO_DEDUPE_OFF,
FIO_RAND_NR_OFFS,
};
FIO_RAND_NR_OFFS,
};
@@
-101,6
+103,7
@@
struct thread_data {
char verror[FIO_VERROR_SIZE];
pthread_t thread;
unsigned int thread_number;
char verror[FIO_VERROR_SIZE];
pthread_t thread;
unsigned int thread_number;
+ unsigned int subjob_number;
unsigned int groupid;
struct thread_stat ts;
unsigned int groupid;
struct thread_stat ts;
@@
-112,6
+115,8
@@
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;
+
uint64_t stat_io_bytes[DDIR_RWDIR_CNT];
struct timeval bw_sample_time;
uint64_t stat_io_bytes[DDIR_RWDIR_CNT];
struct timeval bw_sample_time;
@@
-173,6
+178,8
@@
struct thread_data {
};
struct frand_state buf_state;
};
struct frand_state buf_state;
+ struct frand_state buf_state_prev;
+ struct frand_state dedupe_state;
unsigned int verify_batch;
unsigned int trim_batch;
unsigned int verify_batch;
unsigned int trim_batch;
@@
-251,6
+258,7
@@
struct thread_data {
struct timeval epoch; /* time job was started */
struct timeval last_issue;
struct timeval tv_cache;
struct timeval epoch; /* time job was started */
struct timeval last_issue;
struct timeval tv_cache;
+ struct timeval terminate_time;
unsigned int tv_cache_nr;
unsigned int tv_cache_mask;
unsigned int ramp_time_over;
unsigned int tv_cache_nr;
unsigned int tv_cache_mask;
unsigned int ramp_time_over;
@@
-483,8
+491,15
@@
extern void td_set_runstate(struct thread_data *, int);
extern int td_bump_runstate(struct thread_data *, int);
extern void td_restore_runstate(struct thread_data *, int);
extern int td_bump_runstate(struct thread_data *, int);
extern void td_restore_runstate(struct thread_data *, int);
+/*
+ * Allow 60 seconds for a job to quit on its own, otherwise reap with
+ * a vengeance.
+ */
+#define FIO_REAP_TIMEOUT 60
+
#define TERMINATE_ALL (-1)
extern void fio_terminate_threads(int);
#define TERMINATE_ALL (-1)
extern void fio_terminate_threads(int);
+extern void fio_mark_td_terminate(struct thread_data *);
/*
* Memory helpers
/*
* Memory helpers
@@
-618,7
+633,9
@@
static inline void td_io_u_free_notify(struct thread_data *td)
extern const char *fio_get_arch_string(int);
extern const char *fio_get_os_string(int);
extern const char *fio_get_arch_string(int);
extern const char *fio_get_os_string(int);
+#ifdef FIO_INTERNAL
#define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0])))
#define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0])))
+#endif
enum {
FIO_OUTPUT_TERSE = 0,
enum {
FIO_OUTPUT_TERSE = 0,