On 9/19/18 12:25 PM, Dennis Zhou wrote: > Running concurrent workloads via multiple jobs can lead to > nondeterministic results as we are at the schedulers 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. This looks fine to me, but it's missing documentation (fio.1 and HOWTO) for added options. For the feature as a whole as well. > diff --git a/thread_options.h b/thread_options.h > index 39315834..99552326 100644 > --- a/thread_options.h > +++ b/thread_options.h > @@ -258,6 +258,7 @@ struct thread_options { > char *read_iolog_file; > bool read_iolog_chunked; > char *write_iolog_file; > + char *merge_blktrace_file; > > unsigned int write_bw_log; > unsigned int write_lat_log; This needs an accompanying change to struct thread_options_pack, and a cconv.c addition to ensure it's converted properly over the wire for client/server runs of fio.o Basically both comments here apply to the rest of the series as well :-) -- Jens Axboe