diff options
author | Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp> | 2007-10-16 23:27:28 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 08:42:54 -0700 |
commit | 6cfa062f01b601206b980e503f62dc593ed8fcaa (patch) | |
tree | 17cf10b2c569b464a4045679294e5b3c11a29a67 | |
parent | d768281e97a403815467102bc4b677f6c425a42b (diff) | |
download | lwn-6cfa062f01b601206b980e503f62dc593ed8fcaa.tar.gz lwn-6cfa062f01b601206b980e503f62dc593ed8fcaa.zip |
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 <oomichi@mxs.nes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/linux/kexec.h | 5 | ||||
-rw-r--r-- | kernel/kexec.c | 2 |
2 files changed, 7 insertions, 0 deletions
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(); |