blktrace: add support to interleave blktrace files
authorDennis Zhou <dennis@kernel.org>
Thu, 20 Sep 2018 18:08:08 +0000 (14:08 -0400)
committerJens Axboe <axboe@kernel.dk>
Thu, 20 Sep 2018 19:07:37 +0000 (13:07 -0600)
commitb9921d1a56d9a6576dcf6c276b380a2a29a112be
tree7984dfb84f958e941175965a392df3a49b7f656f
parent532eda7ed384fff8ebfde90fc50f94618d6a5fb6
blktrace: add support to interleave blktrace files

Running concurrent workloads via multiple jobs can lead to
nondeterministic results as we are at the scheduler's mercy. While the
actual performance of the workload may vary regardless, this makes the
order of events consistent.

This patch introduces two flags: --merge_blktrace_file=<file> and
--merge-blktrace-only. When the first is specified, files that are ':'
separated in --read_iolog are passed to a merge function wich then
produces a single sorted trace file. This file is then passed on in
place of the sorted list or fio exists if --merge-blktrace-only is
specified.

During merging, events are filtered based on what fio cares about and
the pdu is discarded as well.

Signed-off-by: Dennis Zhou <dennis@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
HOWTO
blktrace.c
blktrace.h
cconv.c
fio.1
init.c
options.c
server.h
thread_options.h