File kdump-calibrate-initdata.patch of Package kdump
From: Petr Tesarik <ptesarik@suse.com>
Date: Thu Nov 5 11:51:49 2015 +0100
Subject: Add kernel initdata to boot requirements
References: bsc#953732
Patch-mainline: v.0.8.16
Git-commit: 96c35d6d53115684003f26c5415e82404e39a6dd
Kernel memory requirements at boot are greater than at run time.
The values are based on SLE12 (or SLE11 for architectures missing
in SLE12).
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
kdumptool/calibrate.cc | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
--- a/kdumptool/calibrate.cc
+++ b/kdumptool/calibrate.cc
@@ -60,6 +60,7 @@
#if defined(__x86_64__)
# define DEF_RESERVE_KB MB(128)
# define KERNEL_KB MB(16)
+# define KERNEL_INIT_KB MB(5)
# define INIT_KB MB(34)
# define INIT_NET_KB MB(3)
# define SIZE_STRUCT_PAGE 56
@@ -70,6 +71,7 @@
#elif defined(__i386__)
# define DEF_RESERVE_KB MB(128)
# define KERNEL_KB MB(14)
+# define KERNEL_INIT_KB MB(4)
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
# define SIZE_STRUCT_PAGE 32
@@ -80,6 +82,7 @@
#elif defined(__powerpc64__)
# define DEF_RESERVE_KB MB(256)
# define KERNEL_KB MB(16)
+# define KERNEL_INIT_KB MB(5)
# define INIT_KB MB(58)
# define INIT_NET_KB MB(4)
# define SIZE_STRUCT_PAGE 64
@@ -90,6 +93,7 @@
#elif defined(__powerpc__)
# define DEF_RESERVE_KB MB(128)
# define KERNEL_KB MB(12)
+# define KERNEL_INIT_KB MB(5)
# define INIT_KB MB(34)
# define INIT_NET_KB MB(2)
# define SIZE_STRUCT_PAGE 32
@@ -100,6 +104,7 @@
#elif defined(__s390x__)
# define DEF_RESERVE_KB MB(128)
# define KERNEL_KB MB(13)
+# define KERNEL_INIT_KB 512
# define INIT_KB MB(34)
# define INIT_NET_KB MB(2)
# define SIZE_STRUCT_PAGE 56
@@ -112,6 +117,7 @@
#elif defined(__s390__)
# define DEF_RESERVE_KB MB(128)
# define KERNEL_KB MB(12)
+# define KERNEL_INIT_KB 512
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
# define SIZE_STRUCT_PAGE 32
@@ -124,6 +130,7 @@
#elif defined(__ia64__)
# define DEF_RESERVE_KB MB(512)
# define KERNEL_KB MB(32)
+# define KERNEL_INIT_KB MB(3)
# define INIT_KB MB(44)
# define INIT_NET_KB MB(4)
# define SIZE_STRUCT_PAGE 56
@@ -134,6 +141,7 @@
#elif defined(__aarch64__)
# define DEF_RESERVE_KB MB(128)
# define KERNEL_KB MB(10)
+# define KERNEL_INIT_KB MB(1)
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
# define SIZE_STRUCT_PAGE 56
@@ -144,6 +152,7 @@
#elif defined(__arm__)
# define DEF_RESERVE_KB MB(128)
# define KERNEL_KB MB(12)
+# define KERNEL_INIT_KB MB(1)
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
# define SIZE_STRUCT_PAGE 32
@@ -231,7 +240,7 @@ static inline unsigned long s390x_align_
// Default (pessimistic) boot-time requirements.
// This value is used if exact calculation fails.
#define DEF_BOOTSIZE \
- (KERNEL_KB + \
+ (KERNEL_KB + KERNEL_INIT_KB + \
INIT_KB + INIT_NET_KB + \
((INIT_KB + INIT_NET_KB) * INITRD_COMPRESS) / 100)
@@ -906,7 +915,7 @@ void Calibrate::execute()
if (needsnet)
ramfs += INIT_NET_KB;
unsigned long initrd = (ramfs * INITRD_COMPRESS) / 100;
- bootsize = KERNEL_KB + initrd + ramfs;
+ bootsize = KERNEL_KB + KERNEL_INIT_KB + initrd + ramfs;
Debug::debug()->dbg("Memory needed at boot: %lu KiB", bootsize);
// Run-time kernel requirements