Re: [PATCH] arm64 : Update the section_size_bits for latest kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 11, 2021 at 2:29 PM HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab@xxxxxxx> 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@xxxxxxxxxx>
 
--
>From 9d6fca4d951f8bbb8c83078339e092da2d2fb0e0 Mon Sep 17 00:00:00 2001
From: Kazuhito Hagio <k-hagio-ab@xxxxxxx>
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@xxxxxxxxx>
Signed-off-by: Kazuhito Hagio <k-hagio-ab@xxxxxxx>
---
 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

--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/crash-utility

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux