[Crash-utility] [PATCH] arm64 : Update the section_size_bits for latest kernel

lijiang lijiang at redhat.com
Fri Nov 12 07:14:00 UTC 2021


On Thu, Nov 11, 2021 at 2:29 PM HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab at nec.com>
wrote:

> Hi Lianbo, Ankur,
>
> > This change covers more scenarios and looks good to me. Could you please
> update this patch? Ankur and Kazu.
>
> I've updated, does this work well?
>
>
Thank you for the update, Kazu. It works well.

Acked-by: Lianbo Jiang <lijiang at redhat.com>


> --
> From 9d6fca4d951f8bbb8c83078339e092da2d2fb0e0 Mon Sep 17 00:00:00 2001
> From: Kazuhito Hagio <k-hagio-ab at nec.com>
> Date: Thu, 11 Nov 2021 15:20:52 +0900
> Subject: [PATCH] arm64: Update SECTION_SIZE_BITS for kernels >= 5.12
>
> Update the default SECTION_SIZE_BITS value for arm64 Linux 5.12
> and later kernels that contain kernel commit f0b13ee23241
> ("arm64/sparsemem: reduce SECTION_SIZE_BITS").
>
> Reported-by: Ankur Bansal <er.ankurbansal at gmail.com>
> Signed-off-by: Kazuhito Hagio <k-hagio-ab at nec.com>
> ---
>  arm64.c | 8 +++++++-
>  defs.h  | 4 +++-
>  2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/arm64.c b/arm64.c
> index 3dcbcc642fda..94681d1a37db 100644
> --- a/arm64.c
> +++ b/arm64.c
> @@ -1116,7 +1116,13 @@ arm64_get_section_size_bits(void)
>         int ret;
>         char *string;
>
> -       machdep->section_size_bits = _SECTION_SIZE_BITS;
> +       if (THIS_KERNEL_VERSION >= LINUX(5,12,0)) {
> +               if (machdep->pagesize == 65536)
> +                       machdep->section_size_bits =
> _SECTION_SIZE_BITS_5_12_64K;
> +               else
> +                       machdep->section_size_bits =
> _SECTION_SIZE_BITS_5_12;
> +       } else
> +               machdep->section_size_bits = _SECTION_SIZE_BITS;
>
>         if ((string = pc->read_vmcoreinfo("NUMBER(SECTION_SIZE_BITS)"))) {
>                 machdep->section_size_bits = atol(string);
> diff --git a/defs.h b/defs.h
> index 971005596506..a2f30853a4b1 100644
> --- a/defs.h
> +++ b/defs.h
> @@ -3261,7 +3261,9 @@ typedef signed int s32;
>  #define ARM64_STACK_SIZE   (16384)
>  #define ARM64_IRQ_STACK_SIZE   ARM64_STACK_SIZE
>
> -#define _SECTION_SIZE_BITS      30
> +#define _SECTION_SIZE_BITS           30
> +#define _SECTION_SIZE_BITS_5_12      27
> +#define _SECTION_SIZE_BITS_5_12_64K  29
>  #define _MAX_PHYSMEM_BITS       40
>  #define _MAX_PHYSMEM_BITS_3_17  48
>  #define _MAX_PHYSMEM_BITS_52    52
> --
> 2.27.0
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20211112/4f33a545/attachment.htm>


More information about the Crash-utility mailing list