[PATCH 1/2] sysfs: Add crash_notes_size to export percpu note size
Simon Horman
horms at verge.net.au
Fri Mar 29 00:04:45 EDT 2013
On Fri, Mar 29, 2013 at 11:50:35AM +0800, Zhang Yanfei wrote:
> 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.
Acked-by: Simon Horman <horms at verge.net.au>
> >
> > 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;
> > }
>
>
More information about the kexec
mailing list