Hi, simon I forgot to add your email in the CC, could you please help reviewing this patch since I will send the kexec-tools patch if this patch is accepted. Thanks Zhang ? 2013?03?28? 16:15, Zhang Yanfei ??: > For percpu notes, we are exporting only address and not size. So > the userspace tool kexec-tools is putting an upper limit of 1024 > and putting the value in p_memsz and p_filesz fields. So the patch > add the new sysfile crash_notes_size to export the exact percpu > note size and let the kexec-tools parse it intead of using 1024. > > The idea came from Vivek Goyal. And a later patch will be sent to > kexec-tools to let it parse the size. > > Cc: Greg KH <gregkh at linuxfoundation.org> > Cc: "Eric W. Biederman" <ebiederm at xmission.com> > Cc: Vivek Goyal <vgoyal at redhat.com> > Signed-off-by: Zhang Yanfei <zhangyanfei at cn.fujitsu.com> > --- > drivers/base/cpu.c | 14 ++++++++++++++ > 1 files changed, 14 insertions(+), 0 deletions(-) > > diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c > index fb10728..a55b590 100644 > --- a/drivers/base/cpu.c > +++ b/drivers/base/cpu.c > @@ -132,6 +132,17 @@ static ssize_t show_crash_notes(struct device *dev, struct device_attribute *att > return rc; > } > static DEVICE_ATTR(crash_notes, 0400, show_crash_notes, NULL); > + > +static ssize_t show_crash_notes_size(struct device *dev, > + struct device_attribute *attr, > + char *buf) > +{ > + ssize_t rc; > + > + rc = sprintf(buf, "%lu\n", sizeof(note_buf_t)); > + return rc; > +} > +static DEVICE_ATTR(crash_notes_size, 0400, show_crash_notes_size, NULL); > #endif > > /* > @@ -259,6 +270,9 @@ int __cpuinit register_cpu(struct cpu *cpu, int num) > #ifdef CONFIG_KEXEC > if (!error) > error = device_create_file(&cpu->dev, &dev_attr_crash_notes); > + if (!error) > + error = device_create_file(&cpu->dev, > + &dev_attr_crash_notes_size); > #endif > return error; > }