X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.1;h=7363a375432f351c031fbeb9e4e243808def8c71;hp=07480f037e224832b35f464aba80559419092a78;hb=d694a6a7c02f577b2bb5d0ad24331b775acf6869;hpb=4e7a881493790a3a2b970988aef4bd3603877fab diff --git a/fio.1 b/fio.1 index 07480f03..7363a375 100644 --- a/fio.1 +++ b/fio.1 @@ -287,7 +287,7 @@ Sequential reads. Sequential writes. .TP .B trim -Sequential trim (Linux block devices only). +Sequential trims (Linux block devices only). .TP .B randread Random reads. @@ -296,7 +296,7 @@ Random reads. Random writes. .TP .B randtrim -Random trim (Linux block devices only). +Random trims (Linux block devices only). .TP .B rw, readwrite Mixed sequential reads and writes. @@ -305,8 +305,8 @@ Mixed sequential reads and writes. Mixed random reads and writes. .TP .B trimwrite -Trim and write mixed workload. Blocks will be trimmed first, then the same -blocks will be written to. +Sequential trim and write mixed workload. Blocks will be trimmed first, then +the same blocks will be written to. .RE .P Fio defaults to read if the option is not specified. @@ -353,7 +353,7 @@ reasons. Allowed values are 1024 or 1000, with 1024 being the default. .TP .BI unified_rw_reporting \fR=\fPbool Fio normally reports statistics on a per data direction basis, meaning that -read, write, and trim are accounted and reported separately. If this option is +reads, writes, and trims are accounted and reported separately. If this option is set fio sums the results and reports them as "mixed" instead. .TP .BI randrepeat \fR=\fPbool @@ -396,9 +396,27 @@ available on Linux. If using ZFS on Solaris this must be set to 'none' because ZFS doesn't support it. Default: 'posix'. .RE .TP -.BI fadvise_hint \fR=\fPbool +.BI fadvise_hint \fR=\fPstr Use \fBposix_fadvise\fR\|(2) to advise the kernel what I/O patterns -are likely to be issued. Default: true. +are likely to be issued. Accepted values are: +.RS +.RS +.TP +.B 0 +Backwards compatible hint for "no hint". +.TP +.B 1 +Backwards compatible hint for "advise with fio workload type". This +uses \fBFADV_RANDOM\fR for a random workload, and \fBFADV_SEQUENTIAL\fR +for a sequential workload. +.TP +.B sequential +Advise using \fBFADV_SEQUENTIAL\fR +.TP +.B random +Advise using \fBFADV_RANDOM\fR +.RE +.RE .TP .BI fadvise_stream \fR=\fPint Use \fBposix_fadvise\fR\|(2) to advise the kernel what stream ID the @@ -717,11 +735,14 @@ properly. Read, write and erase an MTD character device (e.g., /dev/mtd0). Discards are treated as erases. Depending on the underlying device type, the I/O may have to go in a certain pattern, e.g., on NAND, writing sequentially to erase blocks -and discarding before overwriting. The writetrim mode works well for this +and discarding before overwriting. The trimwrite mode works well for this constraint. .TP .B pmemblk Read and write through the NVML libpmemblk interface. +.TP +.B dev-dax +Read and write through a DAX device exposed from persistent memory. .RE .P .RE @@ -1139,6 +1160,50 @@ logging results, thus minimizing the runtime required for stable results. Note that the \fBramp_time\fR is considered lead in time for a job, thus it will increase the total runtime if a special timeout or runtime is specified. .TP +.BI steadystate \fR=\fPstr:float "\fR,\fP ss" \fR=\fPstr:float +Define the criterion and limit for assessing steady state performance. The +first parameter designates the criterion whereas the second parameter sets the +threshold. When the criterion falls below the threshold for the specified +duration, the job will stop. For example, iops_slope:0.1% will direct fio +to terminate the job when the least squares regression slope falls below 0.1% +of the mean IOPS. If group_reporting is enabled this will apply to all jobs in +the group. 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. Below are the available steady +state assessment criteria. +.RS +.RS +.TP +.B iops +Collect IOPS data. Stop the job if all individual IOPS measurements are within +the specified limit of the mean IOPS (e.g., iops:2 means that all individual +IOPS values must be within 2 of the mean, whereas iops:0.2% means that all +individual IOPS values must be within 0.2% of the mean IOPS to terminate the +job). +.TP +.B iops_slope +Collect IOPS data and calculate the least squares regression slope. Stop the +job if the slope falls below the specified limit. +.TP +.B bw +Collect bandwidth data. Stop the job if all individual bandwidth measurements +are within the specified limit of the mean bandwidth. +.TP +.B bw_slope +Collect bandwidth data and calculate the least squares regression slope. Stop +the job if the slope falls below the specified limit. +.RE +.RE +.TP +.BI steadystate_duration \fR=\fPtime "\fR,\fP ss_dur" \fR=\fPtime +A rolling window of this duration will be used to judge whether steady state +has been reached. Data will be collected once per second. The default is 0 +which disables steady state detection. +.TP +.BI steadystate_ramp_time \fR=\fPtime "\fR,\fP ss_ramp" \fR=\fPtime +Allow the job to run for the specified duration before beginning data collection +for checking the steady state job termination criterion. The default is 0. +.TP .BI invalidate \fR=\fPbool Invalidate buffer-cache for the file prior to starting I/O. Default: true. .TP