t/io_uring: use internal random generator
[fio.git] / t / io_uring.c
index f758a6d9b7b5f80ac65b7d3117dfa701ac08c719..5b8a00fa9a51b002f1c100ac4fa7fb3ef3de3fd1 100644 (file)
@@ -28,6 +28,7 @@
 #include "../arch/arch.h"
 #include "../lib/types.h"
 #include "../lib/roundup.h"
+#include "../lib/rand.h"
 #include "../minmax.h"
 #include "../os/linux/io_uring.h"
 
@@ -86,6 +87,8 @@ struct submitter {
 
        __s32 *fds;
 
+       struct taus258_state rand_state;
+
        unsigned long *clock_batch;
        int clock_index;
        unsigned long *plat;
@@ -448,7 +451,7 @@ static void init_io(struct submitter *s, unsigned index)
        }
        f->pending_ios++;
 
-       r = lrand48();
+       r = __rand64(&s->rand_state);
        offset = (r % (f->max_blocks - 1)) * bs;
 
        if (register_files) {
@@ -586,6 +589,7 @@ static int submitter_init(struct submitter *s)
        s->tid = gettid();
        printf("submitter=%d, tid=%d\n", s->index, s->tid);
 
+       __init_rand64(&s->rand_state, pthread_self());
        srand48(pthread_self());
 
        for (i = 0; i < MAX_FDS; i++)