Add ->bytes_done[] to struct thread_data
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index d28f8ce59cf15cee75c86d13f95099894dd2b547..446482354fd909125c911defe6f27b9ceb83fee9 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -240,6 +240,7 @@ struct thread_data {
         */
        uint64_t io_issues[DDIR_RWDIR_CNT];
        uint64_t io_issue_bytes[DDIR_RWDIR_CNT];
+       uint64_t loops;
 
        /*
         * Completions
@@ -247,10 +248,11 @@ struct thread_data {
        uint64_t io_blocks[DDIR_RWDIR_CNT];
        uint64_t this_io_blocks[DDIR_RWDIR_CNT];
        uint64_t io_bytes[DDIR_RWDIR_CNT];
-       uint64_t io_skip_bytes;
        uint64_t this_io_bytes[DDIR_RWDIR_CNT];
+       uint64_t io_skip_bytes;
        uint64_t zone_bytes;
        struct fio_mutex *mutex;
+       uint64_t bytes_done[DDIR_RWDIR_CNT];
 
        /*
         * State for random io, a bitmap of blocks done vs not done
@@ -573,16 +575,15 @@ static inline int __should_check_rate(struct thread_data *td,
        return 0;
 }
 
-static inline int should_check_rate(struct thread_data *td,
-                                   uint64_t *bytes_done)
+static inline int should_check_rate(struct thread_data *td)
 {
        int ret = 0;
 
-       if (bytes_done[DDIR_READ])
+       if (td->bytes_done[DDIR_READ])
                ret |= __should_check_rate(td, DDIR_READ);
-       if (bytes_done[DDIR_WRITE])
+       if (td->bytes_done[DDIR_WRITE])
                ret |= __should_check_rate(td, DDIR_WRITE);
-       if (bytes_done[DDIR_TRIM])
+       if (td->bytes_done[DDIR_TRIM])
                ret |= __should_check_rate(td, DDIR_TRIM);
 
        return ret;
@@ -648,6 +649,7 @@ enum {
        FIO_RAND_DIST_RANDOM    = 0,
        FIO_RAND_DIST_ZIPF,
        FIO_RAND_DIST_PARETO,
+       FIO_RAND_DIST_GAUSS,
 };
 
 #define FIO_DEF_ZIPF           1.1