[PATCH] makedumpfile: Free pages aren't removed in non-cyclic mode.

Atsushi Kumagai ats-kumagai at wm.jp.nec.com
Thu Apr 16 01:14:07 PDT 2015


This is a bug since v1.5.4, it will mainly affect re-filtering
feature since the current makedumpfile generally works in cyclic
mode by default.

Note: these codes will be removed in the next version by merging
      the codes of cyclic mode and non-cyclic mode.

Atsushi Kumagai

From: Atsushi Kumagai <ats-kumagai at wm.jp.nec.com>
Date: Tue, 14 Apr 2015 13:12:37 +0900
Subject: [PATCH] Free pages aren't removed in non-cyclic mode.

If the dump level is 16 (exclude only free pages), free pages will
not be removed in non-cyclic mode because exclude_unnecessary_pages()
will be never called in that case. This issue happens when
page_is_buddy is enabled, otherwise free pages will be removed
by using free list.

Signed-off-by: Atsushi Kumagai <ats-kumagai at wm.jp.nec.com>
 makedumpfile.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/makedumpfile.c b/makedumpfile.c
index 32f5459..cb172b4 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -5223,7 +5223,8 @@ create_2nd_bitmap(void)
 	if (info->dump_level & DL_EXCLUDE_CACHE ||
 	    info->dump_level & DL_EXCLUDE_CACHE_PRI ||
 	    info->dump_level & DL_EXCLUDE_USER_DATA ||
-	    NUMBER(PG_hwpoison) != NOT_FOUND_NUMBER) {
+	    NUMBER(PG_hwpoison) != NOT_FOUND_NUMBER ||
+	    ((info->dump_level & DL_EXCLUDE_FREE) && info->page_is_buddy)) {
 		if (!exclude_unnecessary_pages()) {
 			ERRMSG("Can't exclude unnecessary pages.\n");
 			return FALSE;

More information about the kexec mailing list