options: don't throw away bssplit() return value
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index 6bb1949f9faed23d2d8977ed3df3f2db32dfd4ab..2e13b548bf88e75978a526c8d340b921705b6a61 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_POISSON_OFF,
        FIO_RAND_NR_OFFS,
 };
 
 enum {
        IO_MODE_INLINE = 0,
-       IO_MODE_OFFLOAD,
+       IO_MODE_OFFLOAD = 1,
+
+       RATE_PROCESS_LINEAR = 0,
+       RATE_PROCESS_POISSON = 1,
 };
 
 /*
@@ -243,7 +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 long last_usec;
+       int64_t last_usec;
+       struct frand_state poisson_state;
 
        /*
         * Enforced rate submission/completion workqueue
@@ -534,8 +539,8 @@ extern void td_restore_runstate(struct thread_data *, int);
  */
 #define FIO_REAP_TIMEOUT       60
 
-#define TERMINATE_ALL          (-1)
-extern void fio_terminate_threads(int);
+#define TERMINATE_ALL          (-1U)
+extern void fio_terminate_threads(unsigned int);
 extern void fio_mark_td_terminate(struct thread_data *);
 
 /*