Use unique seed for zipf/pareto init if rand_repeat is not set
authorJens Axboe <axboe@kernel.dk>
Sat, 17 Nov 2012 17:06:36 +0000 (10:06 -0700)
committerJens Axboe <axboe@kernel.dk>
Sat, 17 Nov 2012 17:06:36 +0000 (10:06 -0700)
By default, fio uses repeatable random sequences for anything.
This makes it easy to run the same job again. But if this is
disabled, ensure that the zipf/pareto sequences are also
randomized. Re-use the normal random io offset seed for
the random distribution too.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
filesetup.c

index 8636e16661b3bad68a70e28a6805e227c5e9e543..c488eb471caa8a2d442c8cf58a1c203ff18309e7 100644 (file)
@@ -873,6 +873,9 @@ static int __init_rand_distribution(struct thread_data *td, struct fio_file *f)
        nranges = (f->real_file_size + range_size - 1) / range_size;
 
        seed = jhash(f->file_name, strlen(f->file_name), 0) * td->thread_number;
+       if (!td->o.rand_repeatable)
+               seed = td->rand_seeds[4];
+
        if (td->o.random_distribution == FIO_RAND_DIST_ZIPF)
                zipf_init(&f->zipf, nranges, td->o.zipf_theta, seed);
        else