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

lijiang lijiang at redhat.com
Mon Nov 15 05:20:55 UTC 2021


Thank you, Ankur and Kazu. Applied:
https://github.com/crash-utility/crash/commit/8246dce99dd23457e8c7a3fe9609c706694d1959

On Fri, Nov 12, 2021 at 3:14 PM lijiang <lijiang at redhat.com> wrote:

> 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/20211115/f48c407a/attachment.htm>


More information about the Crash-utility mailing list