Re: [PATCH 3/4] arm64/fp: Clarify effect of setting an unsupported system VL

From: Dave Martin
Date: Tue Jan 23 2024 - 10:53:05 EST


On Mon, Jan 22, 2024 at 08:41:53PM +0000, Mark Brown wrote:
> The documentation for system vector length configuration does not cover all
> cases where unsupported values are written, tighten it up.
>
> Reported-by: Edmund Grimley-Evans <edmund.grimley-evans@xxxxxxx>
> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
> ---
> Documentation/arch/arm64/sme.rst | 5 ++---
> Documentation/arch/arm64/sve.rst | 5 ++---
> 2 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/arch/arm64/sme.rst b/Documentation/arch/arm64/sme.rst
> index 3133d0e91b48..ba0a5e5b2523 100644
> --- a/Documentation/arch/arm64/sme.rst
> +++ b/Documentation/arch/arm64/sme.rst
> @@ -379,9 +379,8 @@ The regset data starts with struct user_za_header, containing:
> /proc/sys/abi/sme_default_vector_length
>
> Writing the text representation of an integer to this file sets the system
> - default vector length to the specified value, unless the value is greater
> - than the maximum vector length supported by the system in which case the
> - default vector length is set to that maximum.
> + default vector length to the specified value rounded to a supported value
> + using the same rules as for setting vector length via prctl().

Do parallel changes need to be made in sve.rst?

(There seems to be so much duplication and copy-paste between these
files that I wonder whether it would make sense to merge them... but
that's probably a separate discussion.)

Nit: is it better to name the prctl here than just to say prctl()?
That would be easier for the reader to cross-reference.

>
> The result can be determined by reopening the file and reading its
> contents.
> diff --git a/Documentation/arch/arm64/sve.rst b/Documentation/arch/arm64/sve.rst
> index b45a2da19bf1..b923727ff4b9 100644
> --- a/Documentation/arch/arm64/sve.rst
> +++ b/Documentation/arch/arm64/sve.rst
> @@ -423,9 +423,8 @@ The regset data starts with struct user_sve_header, containing:
> /proc/sys/abi/sve_default_vector_length
>
> Writing the text representation of an integer to this file sets the system
> - default vector length to the specified value, unless the value is greater
> - than the maximum vector length supported by the system in which case the
> - default vector length is set to that maximum.
> + default vector length to the specified value rounded to a supported value
> + using the same rules as for setting vector length via prctl().

Ditto.

[...]

Cheers
---Dave