X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=fio.1;h=2708b503eea79b8abedd1d2972a230152612e2b8;hb=051382218cbe5101a5caa83eab55ed04608f8475;hp=620b6b3730f2432d00d7eec03675e23a533f2c85;hpb=87a48ada9768d3eec522a9f022aaa669c7582285;p=fio.git diff --git a/fio.1 b/fio.1 index 620b6b37..2708b503 100644 --- a/fio.1 +++ b/fio.1 @@ -1751,6 +1751,9 @@ are "contiguous" and the IO depth is not exceeded) before issuing a call to IME. Asynchronous read and write using DDN's Infinite Memory Engine (IME). This engine will try to stack as much IOs as possible by creating requests for IME. FIO will then decide when to commit these requests. +.TP +.B libiscsi +Read and write iscsi lun with libiscsi. .SS "I/O engine specific parameters" In addition, there are some parameters which are only valid when a specific \fBioengine\fR is in use. These are used identically to normal parameters, @@ -2070,8 +2073,15 @@ changing data and the overlapping region has a non-zero size. Setting \fBserialize_overlap\fR tells fio to avoid provoking this behavior by explicitly serializing in-flight I/Os that have a non-zero overlap. Note that setting this option can reduce both performance and the \fBiodepth\fR achieved. -Additionally this option does not work when \fBio_submit_mode\fR is set to -offload. Default: false. +.RS +.P +This option only applies to I/Os issued for a single job except when it is +enabled along with \fBio_submit_mode\fR=offload. In offload mode, fio +will check for overlap among all I/Os submitted by offload jobs with \fBserialize_overlap\fR +enabled. +.P +Default: false. +.RE .TP .BI io_submit_mode \fR=\fPstr This option controls how fio submits the I/O to the I/O engine. The default @@ -2218,6 +2228,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 +2267,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 +2682,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 +3599,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.