X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.1;h=bf181b345548414865d7d138ba38c372b1619941;hb=8772acb0435c6a378951458d8fd9b18e1ab1add0;hp=620b6b3730f2432d00d7eec03675e23a533f2c85;hpb=87a48ada9768d3eec522a9f022aaa669c7582285;p=fio.git diff --git a/fio.1 b/fio.1 index 620b6b37..bf181b34 100644 --- a/fio.1 +++ b/fio.1 @@ -2218,6 +2218,13 @@ second trace in realtime. This knob is separately tunable from \fBreplay_time_scale\fR which scales the trace during runtime and will not change the output of the merge unlike this option. .TP +.BI merge_blktrace_iters \fR=\fPfloat_list +This is a whole number option that is index paired with the list of files +passed to \fBread_iolog\fR. When merging is performed, run each trace for +the specified number of iterations. For example, +`\-\-merge_blktrace_iters="2:1"' runs the first trace for two iterations +and the second trace for one iteration. +.TP .BI replay_no_stall \fR=\fPbool When replaying I/O with \fBread_iolog\fR the default behavior is to attempt to respect the timestamps within the log and replay them with the @@ -2250,11 +2257,12 @@ Unfortunately this also breaks the strict time ordering between multiple device accesses. .TP .BI replay_align \fR=\fPint -Force alignment of I/O offsets and lengths in a trace to this power of 2 -value. +Force alignment of the byte offsets in a trace to this value. The value +must be a power of 2. .TP .BI replay_scale \fR=\fPint -Scale sector offsets down by this factor when replaying traces. +Scale bye offsets down by this factor when replaying traces. Should most +likely use \fBreplay_align\fR as well. .SS "Threads, processes and job synchronization" .TP .BI replay_skip \fR=\fPstr @@ -2664,6 +2672,12 @@ steady state assessment criteria. All assessments are carried out using only data from the rolling collection window. Threshold limits can be expressed as a fixed value or as a percentage of the mean in the collection window. .RS +.P +When using this feature, most jobs should include the \fBtime_based\fR +and \fBruntime\fR options or the \fBloops\fR option so that fio does not +stop running after it has covered the full size of the specified file(s) +or device(s). +.RS .RS .TP .B iops @@ -3575,6 +3589,21 @@ Scaling traces can be done to see the relative impact of any particular trace being slowed down or sped up. \fBmerge_blktrace_scalars\fR takes in a colon separated list of percentage scalars. It is index paired with the files passed to \fBread_iolog\fR. +.P +With scaling, it may be desirable to match the running time of all traces. +This can be done with \fBmerge_blktrace_iters\fR. It is index paired with +\fBread_iolog\fR just like \fBmerge_blktrace_scalars\fR. +.P +In an example, given two traces, A and B, each 60s long. If we want to see +the impact of trace A issuing IOs twice as fast and repeat trace A over the +runtime of trace B, the following can be done: +.RS +.P +$ fio \-\-read_iolog=":"" \-\-merge_blktrace_file"" \-\-merge_blktrace_scalars="50:100" \-\-merge_blktrace_iters="2:1" +.RE +.P +This runs trace A at 2x the speed twice for approximately the same runtime as +a single run of trace B. .SH CPU IDLENESS PROFILING In some cases, we want to understand CPU overhead in a test. For example, we test patches for the specific goodness of whether they reduce CPU usage.