From: Jens Axboe Date: Mon, 30 Oct 2006 16:00:24 +0000 (+0100) Subject: [PATCH] Randomly fill output buffers X-Git-Tag: fio-1.8~18 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=6b9cea23c22c218625b68eca63da38089b299846 [PATCH] Randomly fill output buffers Signed-off-by: Jens Axboe --- diff --git a/fio.c b/fio.c index 81e9e90d..52caa4e9 100644 --- a/fio.c +++ b/fio.c @@ -479,6 +479,19 @@ static void cleanup_io_u(struct thread_data *td) free_io_mem(td); } +/* + * "randomly" fill the buffer contents + */ +static void fill_rand_buf(struct io_u *io_u, unsigned int max_bs) +{ + unsigned int *ptr = io_u->buf; + + while ((void *) ptr - io_u->buf < max_bs) { + *ptr = rand() * 0x9e370001; + ptr++; + } +} + static int init_io_u(struct thread_data *td) { struct io_u *io_u; @@ -505,6 +518,9 @@ static int init_io_u(struct thread_data *td) INIT_LIST_HEAD(&io_u->list); io_u->buf = p + td->max_bs * i; + if (td_write(td) || td_rw(td)) + fill_rand_buf(io_u, td->max_bs); + io_u->index = i; list_add(&io_u->list, &td->io_u_freelist); } diff --git a/fio.h b/fio.h index b30dec59..6a68ec8d 100644 --- a/fio.h +++ b/fio.h @@ -63,7 +63,7 @@ struct io_u { struct timeval start_time; struct timeval issue_time; - char *buf; + void *buf; unsigned int buflen; unsigned long long offset;