X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.1;h=46b4cd08395b47da98376d8c821ac00b9196c6ae;hb=bfbdd35b3e8f7de1bf1f48e7087c04a6b37e9c61;hp=cb4351f4ba308a40b38a78055e6a53eaabf2f22d;hpb=aeb7ff8f54e68fa7a8c35ca8b4c0061de1063cf1;p=fio.git diff --git a/fio.1 b/fio.1 index cb4351f4..46b4cd08 100644 --- a/fio.1 +++ b/fio.1 @@ -724,21 +724,62 @@ false. .BI unlink_each_loop \fR=\fPbool Unlink job files after each iteration or loop. Default: false. .TP -Fio supports strided data access. After having read \fBzonesize\fR bytes from an area that is \fBzonerange\fR bytes big, \fBzoneskip\fR bytes are skipped. +.BI zonemode \fR=\fPstr +Accepted values are: +.RS +.RS +.TP +.B none +The \fBzonerange\fR, \fBzonesize\fR and \fBzoneskip\fR parameters are ignored. +.TP +.B strided +I/O happens in a single zone until \fBzonesize\fR bytes have been transferred. +After that number of bytes has been transferred processing of the next zone +starts. +.TP +.B zbd +Zoned block device mode. I/O happens sequentially in each zone, even if random +I/O has been selected. Random I/O happens across all zones instead of being +restricted to a single zone. +.RE +.RE .TP .BI zonerange \fR=\fPint -Size of a single zone in which I/O occurs. +Size of a single zone. See also \fBzonesize\fR and \fBzoneskip\fR. .TP .BI zonesize \fR=\fPint -Number of bytes to transfer before skipping \fBzoneskip\fR bytes. If this -parameter is smaller than \fBzonerange\fR then only a fraction of each zone -with \fBzonerange\fR bytes will be accessed. If this parameter is larger than -\fBzonerange\fR then each zone will be accessed multiple times before skipping -to the next zone. +For \fBzonemode\fR=strided, this is the number of bytes to transfer before +skipping \fBzoneskip\fR bytes. If this parameter is smaller than +\fBzonerange\fR then only a fraction of each zone with \fBzonerange\fR bytes +will be accessed. If this parameter is larger than \fBzonerange\fR then each +zone will be accessed multiple times before skipping to the next zone. + +For \fBzonemode\fR=zbd, this is the size of a single zone. The \fBzonerange\fR +parameter is ignored in this mode. .TP .BI zoneskip \fR=\fPint -Skip the specified number of bytes after \fBzonesize\fR bytes of data have been -transferred. +For \fBzonemode\fR=strided, the number of bytes to skip after \fBzonesize\fR +bytes of data have been transferred. This parameter must be zero for +\fBzonemode\fR=zbd. + +.TP +.BI read_beyond_wp \fR=\fPbool +This parameter applies to \fBzonemode=zbd\fR only. + +Zoned block devices are block devices that consist of multiple zones. Each +zone has a type, e.g. conventional or sequential. A conventional zone can be +written at any offset that is a multiple of the block size. Sequential zones +must be written sequentially. The position at which a write must occur is +called the write pointer. A zoned block device can be either drive +managed, host managed or host aware. For host managed devices the host must +ensure that writes happen sequentially. Fio recognizes host managed devices +and serializes writes to sequential zones for these devices. + +If a read occurs in a sequential zone beyond the write pointer then the zoned +block device will complete the read without reading any data from the storage +medium. Since such reads lead to unrealistically high bandwidth and IOPS +numbers fio only reads beyond the write pointer if explicitly told to do +so. Default: false. .SS "I/O type" .TP @@ -2127,6 +2168,10 @@ to replay a workload captured by blktrace. See \fBblktrace\fR\|(8) for how to capture such logging data. For blktrace replay, the file needs to be turned into a blkparse binary data file first (`blkparse \-o /dev/null \-d file_for_fio.bin'). +You can specify a number of files by separating the names with a ':' character. +See the \fBfilename\fR option for information on how to escape ':' and '\' +characters within the file names. These files will be sequentially assigned to +job clones created by \fBnumjobs\fR. .TP .BI read_iolog_chunked \fR=\fPbool Determines how iolog is read. If false (default) entire \fBread_iolog\fR will