Re: [PATCH 04/13] docs: modify max_open_zones option description

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 07, 2023 at 12:14:56PM +0900, Shin'ichiro Kawasaki wrote:
> A recent commit modified the max_open_zones option to improve handling
> of zoned block devices with max_active_zones limit. Modify description
> of the option to meet the change.
> 
> For that purpose, explain the relation between the max_open_zones option
> and the device side limits max_active_zones and max_open_zones. Also
> mention about three zone conditions 'implicit open', 'explict open' and
> 'closed'. And replace the word 'zone state' with 'zone condition'.
> 
> Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx>
> ---
>  HOWTO.rst | 44 ++++++++++++++++++++++++++++----------------
>  fio.1     | 36 ++++++++++++++++++++++++------------
>  2 files changed, 52 insertions(+), 28 deletions(-)
> 
> diff --git a/HOWTO.rst b/HOWTO.rst
> index 2e1e55c2..4d50ad41 100644
> --- a/HOWTO.rst
> +++ b/HOWTO.rst
> @@ -1056,22 +1056,34 @@ Target file/device
>  
>  .. option:: max_open_zones=int
>  
> -	A zone of a zoned block device is in the open state when it is partially
> -	written (i.e. not all sectors of the zone have been written). Zoned
> -	block devices may have a limit on the total number of zones that can
> -	be simultaneously in the open state, that is, the number of zones that
> -	can be written to simultaneously. The :option:`max_open_zones` parameter
> -	limits the number of zones to which write commands are issued by all fio
> -	jobs, that is, limits the number of zones that will be in the open
> -	state. This parameter is relevant only if the :option:`zonemode` =zbd is
> -	used. The default value is always equal to maximum number of open zones
> -	of the target zoned block device and a value higher than this limit
> -	cannot be specified by users unless the option
> -	:option:`ignore_zone_limits` is specified. When
> -	:option:`ignore_zone_limits` is specified or the target device has no
> -	limit on the number of zones that can be in an open state,
> -	:option:`max_open_zones` can specify 0 to disable any limit on the
> -	number of zones that can be simultaneously written to by all jobs.
> +	When a zone of a zoned block device is partially written (i.e. not all
> +	sectors of the zone have been written), the zone is in one of three
> +	conditions: 'implicit open', 'explicit open' or 'closed'. Zoned block
> +	devices may have a limit called 'max_open_zones' (same name as the
> +	parameter) on the total number of zones that can simultaneously be in
> +	the 'implicit open' or 'explicit open' conditions. Zoned block devices
> +	may have another limit called 'max_active_zones', on the total number of
> +	zones that can simultaneously be in the three conditions. The
> +	:option:`max_open_zones` parameter limits the number of zones to which
> +	write commands are issued by all fio jobs, that is, limits the number of
> +	zones that will be in the conditions. When the device has the
> +	max_open_zones limit and does not have the max_active_zones limit, the
> +	:option:`max_open_zones` parameter limits the number of zones in the two
> +	open conditions up to the limit. In this case, fio includes zones in the
> +	two open conditions to the write target zones at fio start. When the
> +	device has both the max_open_zones and the max_active_zones limits, the
> +	:option:`max_open_zones` parameter limits the number of zones in the
> +	three conditions up to the limit. In this case, fio includes zones in
> +	the three conditions to the write target zones at fio start.
> +
> +	This parameter is relevant only if the :option:`zonemode` =zbd is used.
> +	The default value is always equal to the max_open_zones limit of the
> +	target zoned block device and a value higher than this limit cannot be
> +	specified by users unless the option :option:`ignore_zone_limits` is
> +	specified. When :option:`ignore_zone_limits` is specified or the target
> +	device does not have the max_open_zones limit, :option:`max_open_zones`
> +	can specify 0 to disable any limit on the number of zones that can be
> +	simultaneously written to by all jobs.

While this is a wall of text, I don't really see a better way.

This option really controls the maximum number of zones that fio will
issue writes to simultaneously.

For clarity, I guess we could introduce a --max_write_zones option
and move this description there, and make --max_open_zones an alias
for --max_write_zones... But I'm not sure if it would be worth it.

Either way:
Reviewed-by: Niklas Cassel <niklas.cassel@xxxxxxx>


Kind regards,
Niklas

>  
>  .. option:: job_max_open_zones=int
>  
> diff --git a/fio.1 b/fio.1
> index 73b7e8c9..e8bc4f33 100644
> --- a/fio.1
> +++ b/fio.1
> @@ -832,18 +832,30 @@ numbers fio only reads beyond the write pointer if explicitly told to do
>  so. Default: false.
>  .TP
>  .BI max_open_zones \fR=\fPint
> -A zone of a zoned block device is in the open state when it is partially written
> -(i.e. not all sectors of the zone have been written). Zoned block devices may
> -have limit a on the total number of zones that can be simultaneously in the
> -open state, that is, the number of zones that can be written to simultaneously.
> -The \fBmax_open_zones\fR parameter limits the number of zones to which write
> -commands are issued by all fio jobs, that is, limits the number of zones that
> -will be in the open state. This parameter is relevant only if the
> -\fBzonemode=zbd\fR is used. The default value is always equal to maximum number
> -of open zones of the target zoned block device and a value higher than this
> -limit cannot be specified by users unless the option \fBignore_zone_limits\fR is
> -specified. When \fBignore_zone_limits\fR is specified or the target device has
> -no limit on the number of zones that can be in an open state,
> +When a zone of a zoned block device is partially written (i.e. not all sectors
> +of the zone have been written), the zone is in one of three
> +conditions: 'implicit open', 'explicit open' or 'closed'. Zoned block devices
> +may have a limit called 'max_open_zones' (same name as the parameter) on the
> +total number of zones that can simultaneously be in the 'implicit open'
> +or 'explicit open' conditions. Zoned block devices may have another limit
> +called 'max_active_zones', on the total number of zones that can simultaneously
> +be in the three conditions. The \fBmax_open_zones\fR parameter limits
> +the number of zones to which write commands are issued by all fio jobs, that is,
> +limits the number of zones that will be in the conditions. When the device has
> +the max_open_zones limit and does not have the max_active_zones limit, the
> +\fBmax_open_zones\fR parameter limits the number of zones in the two open
> +conditions up to the limit. In this case, fio includes zones in the two open
> +conditions to the write target zones at fio start. When the device has both the
> +max_open_zones and the max_active_zones limits, the \fBmax_open_zones\fR
> +parameter limits the number of zones in the three conditions up to the limit.
> +In this case, fio includes zones in the three conditions to the write target
> +zones at fio start.
> +
> +This parameter is relevant only if the \fBzonemode=zbd\fR is used. The default
> +value is always equal to the max_open_zones limit of the target zoned block
> +device and a value higher than this limit cannot be specified by users unless
> +the option \fBignore_zone_limits\fR is specified. When \fBignore_zone_limits\fR
> +is specified or the target device does not have the max_open_zones limit,
>  \fBmax_open_zones\fR can specify 0 to disable any limit on the number of zones
>  that can be simultaneously written to by all jobs.
>  .TP
> -- 
> 2.40.1
> 



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux