TD_F_SCRAMBLE_BUFFERS = 16,
TD_F_VER_NONE = 32,
TD_F_PROFILE_OPS = 64,
+ TD_F_COMPRESS = 128,
+ TD_F_NOIO = 256,
};
enum {
unsigned int latency_qd_low;
unsigned int latency_failed;
uint64_t latency_ios;
+ int latency_end_run;
/*
* read/write mixed workload state
#define __td_verror(td, err, msg, func) \
do { \
- int ____e = (err); \
+ unsigned int ____e = (err); \
if ((td)->error) \
break; \
(td)->error = ____e; \
extern char *num2str(unsigned long, int, int, int, int);
extern int ioengine_load(struct thread_data *);
extern int parse_dryrun(void);
+extern int fio_running_or_pending_io_threads(void);
+extern int fio_set_fd_nonblocking(int, const char *);
extern uintptr_t page_mask;
extern uintptr_t page_size;
TD_PRE_READING,
TD_VERIFYING,
TD_FSYNCING,
+ TD_FINISHING,
TD_EXITED,
TD_REAPED,
};
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);
+
#define TERMINATE_ALL (-1)
extern void fio_terminate_threads(int);
*/
extern void lat_target_check(struct thread_data *);
extern void lat_target_init(struct thread_data *);
+extern void lat_target_reset(struct thread_data *);
#define for_each_td(td, i) \
for ((i) = 0, (td) = &threads[0]; (i) < (int) thread_number; (i)++, (td)++)
return min(td->o.min_bs[DDIR_TRIM], min_bs);
}
-static inline int is_power_of_2(unsigned int val)
+static inline int is_power_of_2(unsigned long val)
{
return (val != 0 && ((val & (val - 1)) == 0));
}
FIO_RAND_GEN_LFSR,
};
+enum {
+ FIO_CPUS_SHARED = 0,
+ FIO_CPUS_SPLIT,
+};
+
#endif