[Crash-utility] [PATCH 1/2] crash: initial note of excluded page structures

Cliff Wickman cpw at sgi.com
Wed Jan 8 20:23:53 UTC 2014


If makedumpfile excludes unused page structures it will flag that
fact in the dump header.
(There are about 3.67 million pages full of page structures for
 every tera byte of system memory.  The great bulk of those
 page structures are not needed.)
Their exclusion is a makedumpfile option.

Crash will display a note during initialization if such structures
have been excluded.  Crash commands that walk page freelists, for
example, will fail. So the note will help the user understand why.

Signed-off-by: Cliff Wickman <cpw at sgi.com>
---
 diskdump.c |    4 ++++
 diskdump.h |    1 +
 2 files changed, 5 insertions(+)

Index: crash-7.0.4/diskdump.c
===================================================================
--- crash-7.0.4.orig/diskdump.c
+++ crash-7.0.4/diskdump.c
@@ -749,6 +749,10 @@ restart:
 				dd->valid_pages[i]++;
 	}
 
+	if (header->status & DUMP_DH_EXCLUDED_VMEMMAP)
+		fprintf(fp,
+	"NOTE: Unused vmemmap page structures are excluded from this dump.\n");
+
         return TRUE;
 
 err:
Index: crash-7.0.4/diskdump.h
===================================================================
--- crash-7.0.4.orig/diskdump.h
+++ crash-7.0.4/diskdump.h
@@ -84,6 +84,7 @@ struct kdump_sub_header {
 #define DUMP_DH_COMPRESSED_ZLIB    0x1   /* page is compressed with zlib */
 #define DUMP_DH_COMPRESSED_LZO     0x2   /* page is compressed with lzo */
 #define DUMP_DH_COMPRESSED_SNAPPY  0x4   /* page is compressed with snappy */
+#define DUMP_DH_EXCLUDED_VMEMMAP   0x8   /* unused vmemmap pages are excluded */
 
 /* descriptor of each page for vmcore */
 typedef struct page_desc {




More information about the Crash-utility mailing list