[PATCH v5 20/31] powerpc/fadump: use smaller offset while finding memory for reservation

Hari Bathini hbathini at linux.ibm.com
Tue Aug 20 22:06:34 AEST 2019


Use a smaller offset, instead of size of the memory to be reserved by
which to skip memory before making another attempt at reserving memory,
after the previous attempt to reserve memory for FADump failed due to
memory holes and/or reserved ranges, to reduce the likelihood of memory
reservation failure.

Signed-off-by: Hari Bathini <hbathini at linux.ibm.com>
---
 arch/powerpc/kernel/fadump-common.h |    8 ++++++++
 arch/powerpc/kernel/fadump.c        |    2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/kernel/fadump-common.h b/arch/powerpc/kernel/fadump-common.h
index d2dd117..7107cf2 100644
--- a/arch/powerpc/kernel/fadump-common.h
+++ b/arch/powerpc/kernel/fadump-common.h
@@ -66,6 +66,14 @@ static inline u64 fadump_str_to_u64(const char *str)
 
 #define FADUMP_CRASH_INFO_MAGIC		fadump_str_to_u64("FADMPINF")
 
+/*
+ * Amount of memory (1024MB) to skip before making another attempt at
+ * reserving memory (after the previous attempt to reserve memory for
+ * FADump failed due to memory holes and/or reserved ranges) to reduce
+ * the likelihood of memory reservation failure.
+ */
+#define FADUMP_OFFSET_SIZE			0x40000000U
+
 /* fadump crash info structure */
 struct fadump_crash_info_header {
 	u64		magic_number;
diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index 971c50d..8dd2dcc 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -371,7 +371,7 @@ int __init fadump_reserve_mem(void)
 			    !memblock_is_region_reserved(base, size))
 				break;
 
-			base += size;
+			base += FADUMP_OFFSET_SIZE;
 		}
 
 		if (base > (memory_boundary - size)) {



More information about the Linuxppc-dev mailing list