From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from [222.73.24.84] (helo=song.cn.fujitsu.com) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1ULQMM-0005Qs-CM for kexec@lists.infradead.org; Fri, 29 Mar 2013 03:52:11 +0000 Message-ID: <51550F8B.1000402@cn.fujitsu.com> Date: Fri, 29 Mar 2013 11:50:35 +0800 From: Zhang Yanfei MIME-Version: 1.0 Subject: Re: [PATCH 1/2] sysfs: Add crash_notes_size to export percpu note size References: <5153FC27.70001@cn.fujitsu.com> In-Reply-To: <5153FC27.70001@cn.fujitsu.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Simon Horman Cc: Greg KH , "kexec@lists.infradead.org" , "Eric W. Biederman" , vgoyal@redhat.com, "linux-kernel@vger.kernel.org" SGksIHNpbW9uCgpJIGZvcmdvdCB0byBhZGQgeW91ciBlbWFpbCBpbiB0aGUgQ0MsIGNvdWxkIHlv dSBwbGVhc2UgaGVscApyZXZpZXdpbmcgdGhpcyBwYXRjaCBzaW5jZSBJIHdpbGwgc2VuZCB0aGUg a2V4ZWMtdG9vbHMgcGF0Y2gKaWYgdGhpcyBwYXRjaCBpcyBhY2NlcHRlZC4KClRoYW5rcwpaaGFu ZwoK5LqOIDIwMTPlubQwM+aciDI45pelIDE2OjE1LCBaaGFuZyBZYW5mZWkg5YaZ6YGTOgo+IEZv ciBwZXJjcHUgbm90ZXMsIHdlIGFyZSBleHBvcnRpbmcgb25seSBhZGRyZXNzIGFuZCBub3Qgc2l6 ZS4gU28KPiB0aGUgdXNlcnNwYWNlIHRvb2wga2V4ZWMtdG9vbHMgaXMgcHV0dGluZyBhbiB1cHBl ciBsaW1pdCBvZiAxMDI0Cj4gYW5kIHB1dHRpbmcgdGhlIHZhbHVlIGluIHBfbWVtc3ogYW5kIHBf ZmlsZXN6IGZpZWxkcy4gU28gdGhlIHBhdGNoCj4gYWRkIHRoZSBuZXcgc3lzZmlsZSBjcmFzaF9u b3Rlc19zaXplIHRvIGV4cG9ydCB0aGUgZXhhY3QgcGVyY3B1Cj4gbm90ZSBzaXplIGFuZCBsZXQg dGhlIGtleGVjLXRvb2xzIHBhcnNlIGl0IGludGVhZCBvZiB1c2luZyAxMDI0Lgo+IAo+IFRoZSBp ZGVhIGNhbWUgZnJvbSBWaXZlayBHb3lhbC4gQW5kIGEgbGF0ZXIgcGF0Y2ggd2lsbCBiZSBzZW50 IHRvCj4ga2V4ZWMtdG9vbHMgdG8gbGV0IGl0IHBhcnNlIHRoZSBzaXplLgo+IAo+IENjOiBHcmVn IEtIIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4KPiBDYzogIkVyaWMgVy4gQmllZGVybWFu IiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPgo+IENjOiBWaXZlayBHb3lhbCA8dmdveWFsQHJlZGhh dC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogWmhhbmcgWWFuZmVpIDx6aGFuZ3lhbmZlaUBjbi5mdWpp dHN1LmNvbT4KPiAtLS0KPiAgZHJpdmVycy9iYXNlL2NwdS5jIHwgICAxNCArKysrKysrKysrKysr Kwo+ICAxIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZS9jcHUuYyBiL2RyaXZlcnMvYmFzZS9jcHUuYwo+ IGluZGV4IGZiMTA3MjguLmE1NWI1OTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9iYXNlL2NwdS5j Cj4gKysrIGIvZHJpdmVycy9iYXNlL2NwdS5jCj4gQEAgLTEzMiw2ICsxMzIsMTcgQEAgc3RhdGlj IHNzaXplX3Qgc2hvd19jcmFzaF9ub3RlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlICphdHQKPiAgCXJldHVybiByYzsKPiAgfQo+ICBzdGF0aWMgREVWSUNFX0FU VFIoY3Jhc2hfbm90ZXMsIDA0MDAsIHNob3dfY3Jhc2hfbm90ZXMsIE5VTEwpOwo+ICsKPiArc3Rh dGljIHNzaXplX3Qgc2hvd19jcmFzaF9ub3Rlc19zaXplKHN0cnVjdCBkZXZpY2UgKmRldiwKPiAr CQkJCSAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCj4gKwkJCQkgICAgIGNoYXIg KmJ1ZikKPiArewo+ICsJc3NpemVfdCByYzsKPiArCj4gKwlyYyA9IHNwcmludGYoYnVmLCAiJWx1 XG4iLCBzaXplb2Yobm90ZV9idWZfdCkpOwo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gK3N0YXRpYyBE RVZJQ0VfQVRUUihjcmFzaF9ub3Rlc19zaXplLCAwNDAwLCBzaG93X2NyYXNoX25vdGVzX3NpemUs IE5VTEwpOwo+ICAjZW5kaWYKPiAgCj4gIC8qCj4gQEAgLTI1OSw2ICsyNzAsOSBAQCBpbnQgX19j cHVpbml0IHJlZ2lzdGVyX2NwdShzdHJ1Y3QgY3B1ICpjcHUsIGludCBudW0pCj4gICNpZmRlZiBD T05GSUdfS0VYRUMKPiAgCWlmICghZXJyb3IpCj4gIAkJZXJyb3IgPSBkZXZpY2VfY3JlYXRlX2Zp bGUoJmNwdS0+ZGV2LCAmZGV2X2F0dHJfY3Jhc2hfbm90ZXMpOwo+ICsJaWYgKCFlcnJvcikKPiAr CQllcnJvciA9IGRldmljZV9jcmVhdGVfZmlsZSgmY3B1LT5kZXYsCj4gKwkJCQkJICAgJmRldl9h dHRyX2NyYXNoX25vdGVzX3NpemUpOwo+ICAjZW5kaWYKPiAgCXJldHVybiBlcnJvcjsKPiAgfQoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmtleGVjIG1h aWxpbmcgbGlzdAprZXhlY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8va2V4ZWMK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755111Ab3C2DwK (ORCPT ); Thu, 28 Mar 2013 23:52:10 -0400 Received: from cn.fujitsu.com ([222.73.24.84]:9073 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1754426Ab3C2DwJ convert rfc822-to-8bit (ORCPT ); Thu, 28 Mar 2013 23:52:09 -0400 X-IronPort-AV: E=Sophos;i="4.87,370,1363104000"; d="scan'208";a="6966867" Message-ID: <51550F8B.1000402@cn.fujitsu.com> Date: Fri, 29 Mar 2013 11:50:35 +0800 From: Zhang Yanfei User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.8) Gecko/20121012 Thunderbird/10.0.8 MIME-Version: 1.0 To: Simon Horman CC: Greg KH , "Eric W. Biederman" , vgoyal@redhat.com, "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH 1/2] sysfs: Add crash_notes_size to export percpu note size References: <5153FC27.70001@cn.fujitsu.com> In-Reply-To: <5153FC27.70001@cn.fujitsu.com> X-MIMETrack: Itemize by SMTP Server on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2013/03/29 11:51:15, Serialize by Router on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2013/03/29 11:51:16 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > Cc: "Eric W. Biederman" > Cc: Vivek Goyal > Signed-off-by: Zhang Yanfei > --- > 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; > }