Re-seed random generator correctly between loops
authorDave <dglen@micron.com>
Thu, 16 Jul 2015 20:56:00 +0000 (14:56 -0600)
committerJens Axboe <axboe@fb.com>
Thu, 16 Jul 2015 20:56:00 +0000 (14:56 -0600)
re-seeding random generator in this way means that random patterns will
precisely repeat between iterations.  if rand_repeatable is set, this is
desirable, otherwise it may produce unexpected IO patterns in random IO
testing.

Signed-off-by: Jens Axboe <axboe@fb.com>
libfio.c

index 3a28f55e2139d8fac9becf617ee23de0ff0fbab8..30a3acb5614d124910c9c74f326b0bd9910a9877 100644 (file)
--- a/libfio.c
+++ b/libfio.c
@@ -116,9 +116,10 @@ void clear_io_state(struct thread_data *td)
        }
 
        /*
-        * Set the same seed to get repeatable runs
+        * Re-Seed random number generator if rand_repeatable is true
         */
-       td_fill_rand_seeds(td);
+       if (td->o.rand_repeatable)
+               td_fill_rand_seeds(td);
 }
 
 void reset_all_stats(struct thread_data *td)