Pre-load and sort random blocks for pure read verify workloads
authorJens Axboe <axboe@kernel.dk>
Sat, 12 Jan 2013 08:44:15 +0000 (01:44 -0700)
committerJens Axboe <axboe@kernel.dk>
Sat, 12 Jan 2013 08:47:00 +0000 (09:47 +0100)
commit1ae83d45ed853cd73b95b89ae14cacac5b97187e
treee5e9e6bcc48e10157401b4f2dfc1b571eed1799a
parent7477673323a943b99ea203bb9434661d13a0159c
Pre-load and sort random blocks for pure read verify workloads

If fio is run with a write phase before a read phase and the
IO type is random, the end read verify phase will get sorted
blocks to read back. But if fio is asked to verify something
that was previously randomly written, it will generate the
same random offsets in random order and verify those. This is
usually much slower than a sorted read back.

So add a verifysort_nr option that allows the user to specify
a number of random offsets to pre-generate and sort, before
reading them and verifying the contents. This greatly speeds
up pure read verify workloads.

Default to 1024, and put a max of 64K entries on the option.
We do a merge list sort on the entries, so we don't want a
huge amount of backlog.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Makefile
backend.c
fio.h
flist.h
io_u.c
lib/flist_sort.c [new file with mode: 0644]
options.c