Recent changes (master)
The following changes since commit f25f4ef6d123173d7669553ec712419f95c1a3ea:
oslib/libmtd: kill dead code (2017-07-06 08:09:22 -0600)
are available in the git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to 6210cf66316e25498ab2e445731b3bb6b886c363:
Fio 2.99 (2017-07-07 12:45:04 -0600)
----------------------------------------------------------------
Jens Axboe (3):
io_u: sequence random buflen generation individually
init: add comment as to how we seed read/write/trim generators Fio 2.99
FIO-VERSION-GEN | 2 +- fio.h | 4 +++- init.c | 17 ++++++++++++++++- io_u.c | 4 ++-- os/windows/install.wxs | 2 +- 5 files changed, 23 insertions(+), 6 deletions(-)
---
Diff of recent changes:
FIO-VERSION-GEN +1 -1
@@ -1,7 +1,7 @@ #!/bin/sh GVF=FIO-VERSION-FILE -DEF_VER=fio-2.21 +DEF_VER=fio-2.99 LF=' '
fio.h +3 -1
@@ -91,6 +91,8 @@ enum {enum {FIO_RAND_BS_OFF =0 , +FIO_RAND_BS1_OFF , +FIO_RAND_BS2_OFF ,FIO_RAND_VER_OFF ,FIO_RAND_MIX_OFF ,FIO_RAND_FILE_OFF ,
@@ -214,7 +216,7 @@ struct thread_data {unsigned long rand_seeds[FIO_RAND_NR_OFFS ]; -struct frand_state bsrange_state; +struct frand_state bsrange_state[DDIR_RWDIR_CNT ];struct frand_state verify_state;struct frand_state trim_state;struct frand_state delay_state;
init.c +16 -1
@@ -921,7 +921,22 @@ static void td_fill_rand_seeds_internal(struct thread_data *td, bool use64) {int i; -init_rand_seed (&td->bsrange_state, td->rand_seeds[FIO_RAND_BS_OFF ], use64); +/* +* trimwrite is special in that we need to generate the same +* offsets to get the "write after trim" effect. If we are +* using bssplit to set buffer length distributions, ensure that +* we seed the trim and write generators identically. +*/ +if (td_trimwrite (td)) { +init_rand_seed (&td->bsrange_state[DDIR_READ ], td->rand_seeds[FIO_RAND_BS_OFF ], use64); +init_rand_seed (&td->bsrange_state[DDIR_WRITE ], td->rand_seeds[FIO_RAND_BS1_OFF ], use64); +init_rand_seed (&td->bsrange_state[DDIR_TRIM ], td->rand_seeds[FIO_RAND_BS1_OFF ], use64); + }else { +init_rand_seed (&td->bsrange_state[DDIR_READ ], td->rand_seeds[FIO_RAND_BS_OFF ], use64); +init_rand_seed (&td->bsrange_state[DDIR_WRITE ], td->rand_seeds[FIO_RAND_BS1_OFF ], use64); +init_rand_seed (&td->bsrange_state[DDIR_TRIM ], td->rand_seeds[FIO_RAND_BS2_OFF ], use64); + } +td_fill_verify_state_seed (td);init_rand_seed (&td->rwmix_state, td->rand_seeds[FIO_RAND_MIX_OFF ], false);
io_u.c +2 -2
@@ -552,9 +552,9 @@ static unsigned int __get_next_buflen(struct thread_data *td, struct io_u *io_u,if (!io_u_fits (td, io_u, minbs))return 0 ; - frand_max =rand_max (&td->bsrange_state); + frand_max =rand_max (&td->bsrange_state[ddir]); do { - r = __rand(&td->bsrange_state); + r = __rand(&td->bsrange_state[ddir]); if (!td->o.bssplit_nr[ddir]) { buflen = 1 + (unsigned int) ((double) maxbs *
os/windows/install.wxs +1 -1
@@ -10,7 +10,7 @@ <Product Id="*" Codepage="1252" Language="1033" Manufacturer="fio" Name="fio" - UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="2.21"> + UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="2.99"> <Package Description="Flexible IO Tester" InstallerVersion="301" Keywords="Installer,MSI,Database"