* [PATCH 1/3] [-mm patch] Cleanup the coding style according to Andrew's comments
2007-09-10 7:23 [PATCH 0/3] [-mm patch] Cleanup add-vmcoreinfo.patch Ken'ichi Ohmichi
@ 2007-09-10 7:25 ` Ken'ichi Ohmichi
2007-09-10 7:26 ` [PATCH 2/3] [-mm patch] Add nodemask_t's size and NR_FREE_PAGES's value to vmcoreinfo_data Ken'ichi Ohmichi
2007-09-10 7:28 ` [PATCH 3/3] [-mm patch] Use the existing ia64_tpa() instead of asm code Ken'ichi Ohmichi
2 siblings, 0 replies; 4+ messages in thread
From: Ken'ichi Ohmichi @ 2007-09-10 7:25 UTC (permalink / raw)
To: Andrew Morton; +Cc: kexec-ml, lkml, Ken'ichi Ohmichi
[1/3] Cleanup the coding style according to Andrew's comments:
http://lists.infradead.org/pipermail/kexec/2007-August/000522.html
- vmcoreinfo_append_str() should have suitable __attribute__s so that
the compiler can check its use.
- vmcoreinfo_max_size should have size_t.
- Use get_seconds() instead of xtime.tv_sec.
- Use init_uts_ns.name.release instead of UTS_RELEASE.
Thanks
Ken'ichi Ohmichi
---
Signed-off-by: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
diff -rpuN a/include/linux/kexec.h b/include/linux/kexec.h
--- a/include/linux/kexec.h 2007-09-10 19:37:59.000000000 +0900
+++ b/include/linux/kexec.h 2007-09-10 23:09:37.000000000 +0900
@@ -123,18 +123,20 @@ int kexec_should_crash(struct task_struc
void crash_save_cpu(struct pt_regs *regs, int cpu);
void crash_save_vmcoreinfo(void);
void arch_crash_save_vmcoreinfo(void);
-void vmcoreinfo_append_str(const char *fmt, ...);
+void vmcoreinfo_append_str(const char *fmt, ...)
+ __attribute__ ((format (printf, 1, 2)));
unsigned long paddr_vmcoreinfo_note(void);
#define SYMBOL(name) \
vmcoreinfo_append_str("SYMBOL(%s)=%lx\n", #name, (unsigned long)&name)
#define SIZE(name) \
- vmcoreinfo_append_str("SIZE(%s)=%d\n", #name, sizeof(struct name))
+ vmcoreinfo_append_str("SIZE(%s)=%lu\n", #name, \
+ (unsigned long)sizeof(struct name))
#define OFFSET(name, field) \
- vmcoreinfo_append_str("OFFSET(%s.%s)=%d\n", #name, #field, \
- &(((struct name *)0)->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)=%d\n", #name, value)
+ vmcoreinfo_append_str("LENGTH(%s)=%lu\n", #name, (unsigned long)value)
#define CONFIG(name) \
vmcoreinfo_append_str("CONFIG_%s=y\n", #name)
@@ -177,8 +179,8 @@ extern struct resource crashk_res;
typedef u32 note_buf_t[KEXEC_NOTE_BYTES/4];
extern note_buf_t *crash_notes;
extern u32 vmcoreinfo_note[VMCOREINFO_NOTE_SIZE/4];
-extern unsigned int vmcoreinfo_size;
-extern unsigned int vmcoreinfo_max_size;
+extern size_t vmcoreinfo_size;
+extern size_t vmcoreinfo_max_size;
#else /* !CONFIG_KEXEC */
diff -rpuN a/kernel/kexec.c b/kernel/kexec.c
--- a/kernel/kexec.c 2007-09-10 19:38:00.000000000 +0900
+++ b/kernel/kexec.c 2007-09-10 23:09:58.000000000 +0900
@@ -38,8 +38,8 @@ note_buf_t* crash_notes;
/* vmcoreinfo stuff */
unsigned char vmcoreinfo_data[VMCOREINFO_BYTES];
u32 vmcoreinfo_note[VMCOREINFO_NOTE_SIZE/4];
-unsigned int vmcoreinfo_size = 0;
-unsigned int vmcoreinfo_max_size = sizeof(vmcoreinfo_data);
+size_t vmcoreinfo_size;
+size_t vmcoreinfo_max_size = sizeof(vmcoreinfo_data);
/* Location of the reserved area for the crash kernel */
struct resource crashk_res = {
@@ -1153,7 +1153,7 @@ void crash_save_vmcoreinfo(void)
if (!vmcoreinfo_size)
return;
- vmcoreinfo_append_str("CRASHTIME=%d", xtime.tv_sec);
+ vmcoreinfo_append_str("CRASHTIME=%ld", get_seconds());
buf = (u32 *)vmcoreinfo_note;
@@ -1195,8 +1195,8 @@ unsigned long __attribute__ ((weak)) pad
static int __init crash_save_vmcoreinfo_init(void)
{
- vmcoreinfo_append_str("OSRELEASE=%s\n", UTS_RELEASE);
- vmcoreinfo_append_str("PAGESIZE=%d\n", PAGE_SIZE);
+ vmcoreinfo_append_str("OSRELEASE=%s\n", init_uts_ns.name.release);
+ vmcoreinfo_append_str("PAGESIZE=%ld\n", PAGE_SIZE);
SYMBOL(init_uts_ns);
SYMBOL(node_online_map);
diff -rpuN a/kernel/ksysfs.c b/kernel/ksysfs.c
--- a/kernel/ksysfs.c 2007-09-10 19:38:00.000000000 +0900
+++ b/kernel/ksysfs.c 2007-09-10 23:09:07.000000000 +0900
@@ -65,7 +65,7 @@ static ssize_t vmcoreinfo_show(struct ks
{
return sprintf(page, "%lx %x\n",
paddr_vmcoreinfo_note(),
- vmcoreinfo_max_size);
+ (unsigned int)vmcoreinfo_max_size);
}
KERNEL_ATTR_RO(vmcoreinfo);
_
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH 2/3] [-mm patch] Add nodemask_t's size and NR_FREE_PAGES's value to vmcoreinfo_data
2007-09-10 7:23 [PATCH 0/3] [-mm patch] Cleanup add-vmcoreinfo.patch Ken'ichi Ohmichi
2007-09-10 7:25 ` [PATCH 1/3] [-mm patch] Cleanup the coding style according to Andrew's comments Ken'ichi Ohmichi
@ 2007-09-10 7:26 ` Ken'ichi Ohmichi
2007-09-10 7:28 ` [PATCH 3/3] [-mm patch] Use the existing ia64_tpa() instead of asm code Ken'ichi Ohmichi
2 siblings, 0 replies; 4+ messages in thread
From: Ken'ichi Ohmichi @ 2007-09-10 7:26 UTC (permalink / raw)
To: Andrew Morton; +Cc: kexec-ml, lkml, Ken'ichi Ohmichi
[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/
Thanks
Ken'ichi Ohmichi
---
Signed-off-by: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
---
diff -rpuN a/include/linux/kexec.h b/include/linux/kexec.h
--- a/include/linux/kexec.h 2007-09-10 23:28:42.000000000 +0900
+++ b/include/linux/kexec.h 2007-09-10 23:29:52.000000000 +0900
@@ -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 -rpuN a/kernel/kexec.c b/kernel/kexec.c
--- a/kernel/kexec.c 2007-09-10 23:28:42.000000000 +0900
+++ b/kernel/kexec.c 2007-09-10 23:29:02.000000000 +0900
@@ -1218,6 +1218,7 @@ static int __init crash_save_vmcoreinfo_
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_
OFFSET(list_head, next);
OFFSET(list_head, prev);
LENGTH(zone.free_area, MAX_ORDER);
+ NUMBER(NR_FREE_PAGES);
arch_crash_save_vmcoreinfo();
_
^ permalink raw reply [flat|nested] 4+ messages in thread