X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.1;h=78988c9e829ee7ecd37e44cbe043250cbfcdd02d;hp=09b97de34852b70e0f59713a06183c7518717155;hb=d9137307bc621280dcb1738e5df5d5ee4269a665;hpb=12f9d54ae2e171b0a0f31b8d255f818420e0dbbe diff --git a/fio.1 b/fio.1 index 09b97de3..78988c9e 100644 --- a/fio.1 +++ b/fio.1 @@ -1972,21 +1972,31 @@ used. fio must also be run as the root user. .TP .BI (io_uring,libaio)cmdprio_class \fR=\fPint[,int] Set the I/O priority class to use for I/Os that must be issued with a -priority when \fBcmdprio_percentage\fR is set. If not specified when -\fBcmdprio_percentage\fR is set, this defaults to the highest priority -class. A single value applies to reads and writes. Comma-separated -values may be specified for reads and writes. See man \fBionice\fR\|(1). -See also the \fBprioclass\fR option. +priority when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR is set. +If not specified when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR +is set, this defaults to the highest priority class. A single value applies +to reads and writes. Comma-separated values may be specified for reads and +writes. See man \fBionice\fR\|(1). See also the \fBprioclass\fR option. .TP .BI (io_uring,libaio)cmdprio \fR=\fPint[,int] Set the I/O priority value to use for I/Os that must be issued with a -priority when \fBcmdprio_percentage\fR is set. If not specified when -\fBcmdprio_percentage\fR is set, this defaults to 0. Linux limits us to -a positive value between 0 and 7, with 0 being the highest. A single -value applies to reads and writes. Comma-separated values may be specified -for reads and writes. See man \fBionice\fR\|(1). Refer to an appropriate -manpage for other operating systems since the meaning of priority may differ. -See also the \fBprio\fR option. +priority when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR is set. +If not specified when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR +is set, this defaults to 0. Linux limits us to a positive value between +0 and 7, with 0 being the highest. A single value applies to reads and writes. +Comma-separated values may be specified for reads and writes. See man +\fBionice\fR\|(1). Refer to an appropriate manpage for other operating systems +since the meaning of priority may differ. See also the \fBprio\fR option. +.TP +.BI (io_uring,libaio)cmdprio_bssplit \fR=\fPstr[,str] +To get a finer control over I/O priority, this option allows specifying +the percentage of IOs that must have a priority set depending on the block +size of the IO. This option is useful only when used together with the option +\fBbssplit\fR, that is, multiple different block sizes are used for reads and +writes. The format for this option is the same as the format of the +\fBbssplit\fR option, with the exception that values for trim IOs are +ignored. This option is mutually exclusive with the \fBcmdprio_percentage\fR +option. .TP .BI (io_uring)fixedbufs If fio is asked to do direct IO, then Linux will map pages for each IO call, and @@ -2489,7 +2499,7 @@ problem). Note that this option cannot reliably be used with async IO engines. Stall the job for the specified period of time after an I/O has completed before issuing the next. May be used to simulate processing being done by an application. When the unit is omitted, the value is interpreted in microseconds. See -\fBthinktime_blocks\fR and \fBthinktime_spin\fR. +\fBthinktime_blocks\fR, \fBthinktime_iotime\fR and \fBthinktime_spin\fR. .TP .BI thinktime_spin \fR=\fPtime Only valid if \fBthinktime\fR is set - pretend to spend CPU time doing @@ -2510,6 +2520,17 @@ Only valid if \fBthinktime\fR is set - control how \fBthinktime_blocks\fR trigge The default is `complete', which triggers \fBthinktime\fR when fio completes \fBthinktime_blocks\fR blocks. If this is set to `issue', then the trigger happens at the issue side. +.TP +.BI thinktime_iotime \fR=\fPtime +Only valid if \fBthinktime\fR is set - control \fBthinktime\fR interval by time. +The \fBthinktime\fR stall is repeated after IOs are executed for +\fBthinktime_iotime\fR. For example, `\-\-thinktime_iotime=9s \-\-thinktime=1s' +repeat 10-second cycle with IOs for 9 seconds and stall for 1 second. When the +unit is omitted, \fBthinktime_iotime\fR is interpreted as a number of seconds. +If this option is used together with \fBthinktime_blocks\fR, the \fBthinktime\fR +stall is repeated after \fBthinktime_iotime\fR or after \fBthinktime_blocks\fR +IOs, whichever happens first. + .TP .BI rate \fR=\fPint[,int][,int] Cap the bandwidth used by this job. The number is in bytes/sec, the normal @@ -3256,6 +3277,11 @@ If this is set, the iolog options will include the byte offset for the I/O entry as well as the other data values. Defaults to 0 meaning that offsets are not present in logs. Also see \fBLOG FILE FORMATS\fR section. .TP +.BI log_prio \fR=\fPbool +If this is set, the iolog options will include the I/O priority for the I/O +entry as well as the other data values. Defaults to 0 meaning that +I/O priorities are not present in logs. Also see \fBLOG FILE FORMATS\fR section. +.TP .BI log_compression \fR=\fPint If this is set, fio will compress the I/O logs as it goes, to keep the memory footprint lower. When a log reaches the specified size, that chunk is @@ -4189,8 +4215,14 @@ The entry's `block size' is always in bytes. The `offset' is the position in byt from the start of the file for that particular I/O. The logging of the offset can be toggled with \fBlog_offset\fR. .P -`Command priority` is 0 for normal priority and 1 for high priority. This is controlled -by the ioengine specific \fBcmdprio_percentage\fR. +If \fBlog_prio\fR is not set, the entry's `Command priority` is 1 for an IO executed +with the highest RT priority class (\fBprioclass\fR=1 or \fBcmdprio_class\fR=1) and 0 +otherwise. This is controlled by the \fBprioclass\fR option and the ioengine specific +\fBcmdprio_percentage\fR \fBcmdprio_class\fR options. If \fBlog_prio\fR is set, the +entry's `Command priority` is the priority set for the IO, as a 16-bits hexadecimal +number with the lowest 13 bits indicating the priority value (\fBprio\fR and +\fBcmdprio\fR options) and the highest 3 bits indicating the IO priority class +(\fBprioclass\fR and \fBcmdprio_class\fR options). .P Fio defaults to logging every individual I/O but when windowed logging is set through \fBlog_avg_msec\fR, either the average (by default) or the maximum