From 6cfa062f01b601206b980e503f62dc593ed8fcaa Mon Sep 17 00:00:00 2001 From: Ken'ichi Ohmichi Date: Tue, 16 Oct 2007 23:27:28 -0700 Subject: [PATCH] add-vmcore: add nodemask_t's size and NR_FREE_PAGES's value to vmcoreinfo_data [2/3] Add nodemask_t's size and NR_FREE_PAGES's value to vmcoreinfo_data. The dump filetering command 'makedumpfile'(v1.1.6 or before) had assumed the above values, and it was not good from the reliability viewpoint. So makedumpfile v1.2.0 came to need these values and I created the patch to let the kernel output them. makedumpfile site: https://sourceforge.net/projects/makedumpfile/ Signed-off-by: Ken'ichi Ohmichi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- include/linux/kexec.h | 5 +++++ kernel/kexec.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 8333745..db15a94 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -132,11 +132,16 @@ unsigned long paddr_vmcoreinfo_note(void); #define SIZE(name) \ vmcoreinfo_append_str("SIZE(%s)=%lu\n", #name, \ (unsigned long)sizeof(struct name)) +#define TYPEDEF_SIZE(name) \ + vmcoreinfo_append_str("SIZE(%s)=%lu\n", #name, \ + (unsigned long)sizeof(name)) #define OFFSET(name, field) \ vmcoreinfo_append_str("OFFSET(%s.%s)=%lu\n", #name, #field, \ (unsigned long)&(((struct name *)0)->field)) #define LENGTH(name, value) \ vmcoreinfo_append_str("LENGTH(%s)=%lu\n", #name, (unsigned long)value) +#define NUMBER(name) \ + vmcoreinfo_append_str("NUMBER(%s)=%ld\n", #name, (long)name) #define CONFIG(name) \ vmcoreinfo_append_str("CONFIG_%s=y\n", #name) diff --git a/kernel/kexec.c b/kernel/kexec.c index b979b01..578bde9 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -1218,6 +1218,7 @@ static int __init crash_save_vmcoreinfo_init(void) SIZE(zone); SIZE(free_area); SIZE(list_head); + TYPEDEF_SIZE(nodemask_t); OFFSET(page, flags); OFFSET(page, _count); OFFSET(page, mapping); @@ -1237,6 +1238,7 @@ static int __init crash_save_vmcoreinfo_init(void) OFFSET(list_head, next); OFFSET(list_head, prev); LENGTH(zone.free_area, MAX_ORDER); + NUMBER(NR_FREE_PAGES); arch_crash_save_vmcoreinfo(); -- 2.7.4