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

From: Anshuman Khandual
Date: Thu Dec 05 2024 - 23:29:43 EST




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@xxxxxxxxxxxxxxxxxxxxxx>
> ---
> 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.