diff --git a/kdump-calibrate-adjust-sizeof-struct-page.patch b/kdump-calibrate-adjust-sizeof-struct-page.patch new file mode 100644 index 0000000..8243370 --- /dev/null +++ b/kdump-calibrate-adjust-sizeof-struct-page.patch @@ -0,0 +1,87 @@ +From: Petr Tesarik +Date: Thu, 8 Feb 2018 17:47:21 +0100 +Subject: calibrate: Adjust sizeof(struct page) +Upstream: merged +Git-commit: f3aed9afcece4a6d25f9ee5ed0d4a2e82204cfa1 + +After adding a memcg pointer, struct page has grown by one pointer. + +Signed-off-by: Petr Tesarik +--- + kdumptool/calibrate.cc | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +--- a/kdumptool/calibrate.cc ++++ b/kdumptool/calibrate.cc +@@ -63,7 +63,7 @@ + # define KERNEL_INIT_KB MB(5) + # define INIT_KB MB(34) + # define INIT_NET_KB MB(3) +-# define SIZE_STRUCT_PAGE 56 ++# define SIZE_STRUCT_PAGE 64 + # define KDUMP_PHYS_LOAD 0 + # define CAN_REDUCE_CPUS 1 + # define PERCPU_KB 108 +@@ -74,7 +74,7 @@ + # define KERNEL_INIT_KB MB(4) + # define INIT_KB MB(29) + # define INIT_NET_KB MB(2) +-# define SIZE_STRUCT_PAGE 32 ++# define SIZE_STRUCT_PAGE 36 + # define KDUMP_PHYS_LOAD 0 + # define CAN_REDUCE_CPUS 1 + # define PERCPU_KB 56 +@@ -96,7 +96,7 @@ + # define KERNEL_INIT_KB MB(5) + # define INIT_KB MB(34) + # define INIT_NET_KB MB(2) +-# define SIZE_STRUCT_PAGE 32 ++# define SIZE_STRUCT_PAGE 36 + # define KDUMP_PHYS_LOAD MB(128) + # define CAN_REDUCE_CPUS 0 + # define PERCPU_KB 0 // TODO !!! +@@ -107,7 +107,7 @@ + # define KERNEL_INIT_KB 512 + # define INIT_KB MB(34) + # define INIT_NET_KB MB(2) +-# define SIZE_STRUCT_PAGE 56 ++# define SIZE_STRUCT_PAGE 64 + # define KDUMP_PHYS_LOAD 0 + # define CAN_REDUCE_CPUS 1 + # define PERCPU_KB 48 +@@ -120,7 +120,7 @@ + # define KERNEL_INIT_KB 512 + # define INIT_KB MB(29) + # define INIT_NET_KB MB(2) +-# define SIZE_STRUCT_PAGE 32 ++# define SIZE_STRUCT_PAGE 36 + # define KDUMP_PHYS_LOAD 0 + # define CAN_REDUCE_CPUS 1 + # define PERCPU_KB 0 // TODO !!! +@@ -133,7 +133,7 @@ + # define KERNEL_INIT_KB MB(3) + # define INIT_KB MB(44) + # define INIT_NET_KB MB(4) +-# define SIZE_STRUCT_PAGE 56 ++# define SIZE_STRUCT_PAGE 64 + # define KDUMP_PHYS_LOAD 0 + # define CAN_REDUCE_CPUS 1 + # define PERCPU_KB 0 // TODO !!! +@@ -144,7 +144,7 @@ + # define KERNEL_INIT_KB MB(1) + # define INIT_KB MB(29) + # define INIT_NET_KB MB(2) +-# define SIZE_STRUCT_PAGE 56 ++# define SIZE_STRUCT_PAGE 64 + # define KDUMP_PHYS_LOAD 0 + # define CAN_REDUCE_CPUS 1 + # define PERCPU_KB 0 // TODO !!! +@@ -155,7 +155,7 @@ + # define KERNEL_INIT_KB MB(1) + # define INIT_KB MB(29) + # define INIT_NET_KB MB(2) +-# define SIZE_STRUCT_PAGE 32 ++# define SIZE_STRUCT_PAGE 36 + # define KDUMP_PHYS_LOAD 0 + # define CAN_REDUCE_CPUS 1 + # define PERCPU_KB 0 // TODO !!! diff --git a/kdump-calibrate-update-kernel-text-data-size.patch b/kdump-calibrate-update-kernel-text-data-size.patch new file mode 100644 index 0000000..a999f18 --- /dev/null +++ b/kdump-calibrate-update-kernel-text-data-size.patch @@ -0,0 +1,97 @@ +From: Petr Tesarik +Date: Thu, 8 Feb 2018 18:29:20 +0100 +Subject: calibrate: Update kernel text+data size +Upstream: merged +Git-commit: b7905e9aa93712e4fa25aec1213fa412318f0c7a + +Kernel size has (more than) doubled. This constant should be +configurable in fact... + +Signed-off-by: Petr Tesarik +--- + kdumptool/calibrate.cc | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +--- a/kdumptool/calibrate.cc ++++ b/kdumptool/calibrate.cc +@@ -59,7 +59,7 @@ + + #if defined(__x86_64__) + # define DEF_RESERVE_KB MB(128) +-# define KERNEL_KB MB(16) ++# define KERNEL_KB MB(32) + # define KERNEL_INIT_KB MB(5) + # define INIT_KB MB(34) + # define INIT_NET_KB MB(3) +@@ -70,7 +70,7 @@ + + #elif defined(__i386__) + # define DEF_RESERVE_KB MB(128) +-# define KERNEL_KB MB(14) ++# define KERNEL_KB MB(28) + # define KERNEL_INIT_KB MB(4) + # define INIT_KB MB(29) + # define INIT_NET_KB MB(2) +@@ -81,7 +81,7 @@ + + #elif defined(__powerpc64__) + # define DEF_RESERVE_KB MB(256) +-# define KERNEL_KB MB(16) ++# define KERNEL_KB MB(32) + # define KERNEL_INIT_KB MB(5) + # define INIT_KB MB(58) + # define INIT_NET_KB MB(4) +@@ -92,7 +92,7 @@ + + #elif defined(__powerpc__) + # define DEF_RESERVE_KB MB(128) +-# define KERNEL_KB MB(12) ++# define KERNEL_KB MB(24) + # define KERNEL_INIT_KB MB(5) + # define INIT_KB MB(34) + # define INIT_NET_KB MB(2) +@@ -103,7 +103,7 @@ + + #elif defined(__s390x__) + # define DEF_RESERVE_KB MB(128) +-# define KERNEL_KB MB(13) ++# define KERNEL_KB MB(26) + # define KERNEL_INIT_KB 512 + # define INIT_KB MB(34) + # define INIT_NET_KB MB(2) +@@ -116,7 +116,7 @@ + + #elif defined(__s390__) + # define DEF_RESERVE_KB MB(128) +-# define KERNEL_KB MB(12) ++# define KERNEL_KB MB(24) + # define KERNEL_INIT_KB 512 + # define INIT_KB MB(29) + # define INIT_NET_KB MB(2) +@@ -129,7 +129,7 @@ + + #elif defined(__ia64__) + # define DEF_RESERVE_KB MB(512) +-# define KERNEL_KB MB(32) ++# define KERNEL_KB MB(64) + # define KERNEL_INIT_KB MB(3) + # define INIT_KB MB(44) + # define INIT_NET_KB MB(4) +@@ -140,7 +140,7 @@ + + #elif defined(__aarch64__) + # define DEF_RESERVE_KB MB(128) +-# define KERNEL_KB MB(10) ++# define KERNEL_KB MB(26) + # define KERNEL_INIT_KB MB(1) + # define INIT_KB MB(29) + # define INIT_NET_KB MB(2) +@@ -151,7 +151,7 @@ + + #elif defined(__arm__) + # define DEF_RESERVE_KB MB(128) +-# define KERNEL_KB MB(12) ++# define KERNEL_KB MB(24) + # define KERNEL_INIT_KB MB(1) + # define INIT_KB MB(29) + # define INIT_NET_KB MB(2) diff --git a/kdump-calibrate-update-user-space-requirements.patch b/kdump-calibrate-update-user-space-requirements.patch new file mode 100644 index 0000000..fecc3bb --- /dev/null +++ b/kdump-calibrate-update-user-space-requirements.patch @@ -0,0 +1,44 @@ +From: Petr Tesarik +Date: Thu, 8 Feb 2018 18:59:55 +0100 +Subject: calibrate: Update user-space requirements +Upstream: merged +Git-commit: 9703485b83c13c3382ede24d92bef47ae3efe7af + +Userspace memory consumption has also increased. + +Signed-off-by: Petr Tesarik +--- + kdumptool/calibrate.cc | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +--- a/kdumptool/calibrate.cc ++++ b/kdumptool/calibrate.cc +@@ -213,20 +213,20 @@ static inline unsigned long s390x_align_ + #define DIRTY_RATIO 20 + + // Userspace base requirements: +-// systemd (PID 1) 3 M +-// haveged 4 M +-// journald 2 M ++// systemd (PID 1) 8 M ++// haveged 6 M ++// journald 5 M + // the journal itself 4 M +-// 10 * udevd 12 M ++// 10 * udevd 28 M + // kdumptool 4 M + // makedumpfile 1 M + // ------------------------- +-// TOTAL: 30 M +-#define USER_BASE_KB MB(30) ++// TOTAL: 56 M ++#define USER_BASE_KB MB(56) + + // Additional requirements when network is configured +-// dhclient 7 M +-#define USER_NET_KB MB(7) ++// dhclient 10 M ++#define USER_NET_KB MB(10) + + // Maximum size of the page bitmap + // 32 MiB is 32*1024*1024*8 = 268435456 bits diff --git a/kdump.changes b/kdump.changes index 259f649..d93a333 100644 --- a/kdump.changes +++ b/kdump.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Feb 8 18:38:43 UTC 2018 - ptesarik@suse.com + +- kdump-calibrate-adjust-sizeof-struct-page.patch: calibrate: + Adjust sizeof(struct page). +- kdump-calibrate-update-kernel-text-data-size.patch: calibrate: + Update kernel text+data size. +- kdump-calibrate-update-user-space-requirements.patch: calibrate: + Update user-space requirements. + ------------------------------------------------------------------- Fri Jan 26 13:03:47 UTC 2018 - ptesarik@suse.com diff --git a/kdump.spec b/kdump.spec index ccee5c4..8b4784d 100644 --- a/kdump.spec +++ b/kdump.spec @@ -79,6 +79,9 @@ Patch29: %{name}-fillupdir-fixes.patch Patch30: %{name}-kdump_echo-and-kdump_logger-helpers.patch Patch31: %{name}-try-both-kexec_load-and-kexec_file_load.patch Patch32: %{name}-fix-m_threads-missing-initialization.patch +Patch33: %{name}-calibrate-adjust-sizeof-struct-page.patch +Patch34: %{name}-calibrate-update-kernel-text-data-size.patch +Patch35: %{name}-calibrate-update-user-space-requirements.patch BuildRequires: asciidoc BuildRequires: cmake BuildRequires: gcc-c++ @@ -173,6 +176,9 @@ cp %{S:1} tests/data/ %patch30 -p1 %patch31 -p1 %patch32 -p1 +%patch33 -p1 +%patch34 -p1 +%patch35 -p1 %build export CFLAGS="%{optflags}"