[PATCH v2 3/4] arm64: introduce rodata=noalias

Anshuman Khandual anshuman.khandual at arm.com
Thu Dec 5 20:29:27 PST 2024



On 11/26/24 14:26, Huang Shijie wrote:
> The rodata=noalias is the original rodata=on.
> 
> The rodata=noalias can provide us more block mappings and contiguous hits
> to map the linear region which minimize the TLB footprint. And the
> linear aliases of pages belonging to read-only mappings in vmalloc
> region are also marked as read-only.
> 
> Also update kernel-parameters.txt for it:
>    change "full" to "noalias"
> 
> Signed-off-by: Huang Shijie <shijie at os.amperecomputing.com>
> ---
>  Documentation/admin-guide/kernel-parameters.txt | 2 +-
>  arch/arm64/include/asm/setup.h                  | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index dc663c0ca670..54b4df42e631 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -5894,7 +5894,7 @@
>  	rodata=		[KNL,EARLY]
>  		on	Mark read-only kernel memory as read-only (default).
>  		off	Leave read-only kernel memory writable for debugging.
> -		full	Mark read-only kernel memory and aliases as read-only
> +		noalias	Use more block mappings,may have better performance.
>  		        [arm64]
>  
>  	rockchip.usb_uart
> diff --git a/arch/arm64/include/asm/setup.h b/arch/arm64/include/asm/setup.h
> index 5ded3bd11476..3d96dde4d214 100644
> --- a/arch/arm64/include/asm/setup.h
> +++ b/arch/arm64/include/asm/setup.h
> @@ -31,7 +31,7 @@ static inline bool arch_parse_debug_rodata(char *arg)
>  		return true;
>  	}
>  
> -	if (!strcmp(arg, "full")) {
> +	if (!strcmp(arg, "noalias")) {
>  		rodata_enabled = true;
>  		rodata_full = false;
>  		return true;

This patch should be folded back into [PATCH 1/4] ensuring that

- "rodata=" processing gets updated completely i.e dropping 'full',
  adding new 'noalias' and also updating the documentation at once

- Avoids temporary the "full" option breakage as mentioned earlier

Also please do add in code comment above arch_parse_debug_rodata()
function explaining all the options after these update.



More information about the linux-arm-kernel mailing list