The following changes since commit 7006d70c7c8b9a39cf3dfdd839d1975295c10527: Merge branch 'io_uring-numa' (2022-08-02 10:20:31 -0600) are available in the Git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to c08f9533042e909d4b4b12fdb8d14f1bc8e23dff: filesetup: use correct random seed for non-uniform distributions (2022-08-03 16:18:53 -0400) ---------------------------------------------------------------- Vincent Fu (3): examples: fix ioengine in zbd-rand-write.fio engines/null: fill issue_time during commit filesetup: use correct random seed for non-uniform distributions engines/null.c | 19 +++++++++++++++++++ examples/zbd-rand-write.fio | 2 +- filesetup.c | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) --- Diff of recent changes: diff --git a/engines/null.c b/engines/null.c index 8dcd1b21..2df56718 100644 --- a/engines/null.c +++ b/engines/null.c @@ -44,9 +44,28 @@ static int null_getevents(struct null_data *nd, unsigned int min_events, return ret; } +static void null_queued(struct thread_data *td, struct null_data *nd) +{ + struct timespec now; + + if (!fio_fill_issue_time(td)) + return; + + fio_gettime(&now, NULL); + + for (int i = 0; i < nd->queued; i++) { + struct io_u *io_u = nd->io_us[i]; + + memcpy(&io_u->issue_time, &now, sizeof(now)); + io_u_queued(td, io_u); + } +} + static int null_commit(struct thread_data *td, struct null_data *nd) { if (!nd->events) { + null_queued(td, nd); + #ifndef FIO_EXTERNAL_ENGINE io_u_mark_submit(td, nd->queued); #endif diff --git a/examples/zbd-rand-write.fio b/examples/zbd-rand-write.fio index 46cddd06..9494a583 100644 --- a/examples/zbd-rand-write.fio +++ b/examples/zbd-rand-write.fio @@ -1,4 +1,4 @@ -; Using the libaio ioengine, random write to a (zoned) block device, +; Using the psync ioengine, random write to a (zoned) block device, ; writing at most 32 zones at a time. Target zones are chosen randomly ; and writes directed at the write pointer of the chosen zones diff --git a/filesetup.c b/filesetup.c index e0592209..3e2ccf9b 100644 --- a/filesetup.c +++ b/filesetup.c @@ -1495,7 +1495,7 @@ static void __init_rand_distribution(struct thread_data *td, struct fio_file *f) seed = jhash(f->file_name, strlen(f->file_name), 0) * td->thread_number; if (!td->o.rand_repeatable) - seed = td->rand_seeds[4]; + seed = td->rand_seeds[FIO_RAND_BLOCK_OFF]; if (td->o.random_distribution == FIO_RAND_DIST_ZIPF) zipf_init(&f->zipf, nranges, td->o.zipf_theta.u.f, td->o.random_center.u.f, seed);