From: Ken'ichi Ohmichi Date: Wed, 17 Oct 2007 06:27:28 +0000 (-0700) Subject: add-vmcore: add nodemask_t's size and NR_FREE_PAGES's value to vmcoreinfo_data X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=6cfa062f01b601206b980e503f62dc593ed8fcaa;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git 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 --- diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 83337456b716..db15a94769b3 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 b979b010b6d8..578bde9bbc98 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();