From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-wi0-x244.google.com ([2a00:1450:400c:c05::244]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZmMW5-00023b-Fp for kexec@lists.infradead.org; Wed, 14 Oct 2015 13:54:54 +0000 Received: by wicuv6 with SMTP id uv6so9579102wic.2 for ; Wed, 14 Oct 2015 06:54:31 -0700 (PDT) Date: Wed, 14 Oct 2015 15:54:28 +0200 From: Ingo Molnar Subject: Re: [V4 PATCH 4/4] x86/apic: Introduce noextnmi boot option Message-ID: <20151014135428.GC10316@gmail.com> References: <20151001062733.GL2881@worktop.programming.kicks-ass.net> <04EAB7311EE43145B2D3536183D1A8445499D30D@GSjpTKYDCembx31.service.hitachi.net> <20151001084335.GA3764@pd.tnic> <04EAB7311EE43145B2D3536183D1A8445499DB92@GSjpTKYDCembx31.service.hitachi.net> <20151001110110.GA3544@pd.tnic> <04EAB7311EE43145B2D3536183D1A8445499ED83@GSjpTKYDCembx31.service.hitachi.net> <20151002074721.GA16538@pd.tnic> <04EAB7311EE43145B2D3536183D1A844549A4557@GSjpTKYDCembx31.service.hitachi.net> <20151005082704.GA23259@nazgul.tnic> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: 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: Thomas Gleixner Cc: "x86@kernel.org" , Jonathan Corbet , 'Peter Zijlstra' , "linux-doc@vger.kernel.org" , "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Michal Hocko , =?utf-8?B?5bmz5p2+6ZuF5bezIC8gSElSQU1BVFXvvIxNQVNBTUk=?= , Ingo Molnar , Borislav Petkov , "Eric W. Biederman" , "H. Peter Anvin" , =?utf-8?B?5rKz5ZCI6Iux5a6PIC8gS0FXQUnvvIxISURFSElSTw==?= , Andrew Morton , Vivek Goyal CiogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+IHdyb3RlOgoKPiBCb3Jpc2xh diwKPiAKPiBPbiBNb24sIDUgT2N0IDIwMTUsIEJvcmlzbGF2IFBldGtvdiB3cm90ZToKPiA+IE9u IE1vbiwgT2N0IDA1LCAyMDE1IGF0IDAyOjAzOjU4QU0gKzAwMDAsIOays+WQiOiLseWujyAvIEtB V0FJ77yMSElERUhJUk8gd3JvdGU6Cj4gPiA+IFRoYXQncyBkaWZmZXJlbnQgZnJvbSBteSBwb2lu dCBvZiB2aWV3LiAgSSdtIG5vdCBnb2luZyB0byBwYXNzCj4gPiA+IHNvbWUgZGF0YSBmcm9tIHRo ZSBmaXJzdCBrZXJuZWwgdG8gdGhlIHNlY29uZCBrZXJuZWwuIEknbSBqdXN0IGdvaW5nIHRvCj4g PiA+IHByb3ZpZGUgYSBjb25maWd1cmFibGUgb3B0aW9uIGZvciB0aGUgc2Vjb25kIGtlcm5lbCB0 byB1c2Vycy4KPiA+IAo+ID4gRHVkZSwgV1RGPyEgWW91J3JlIGFkZGluZyBhIGtlcm5lbCBjb21t YW5kIGxpbmUgd2hpY2ggaXMgc3VwcG9zZWQgdG8KPiA+IGJlIHVzZWQgKm9ubHkqIGJ5IHRoZSBr ZHVtcCBrZXJuZWwuIEJ1dCBub29vLCBpdCBpcyB0aGVyZSBpbiB0aGUgb3Blbgo+ID4gYW5kIHZp c2libGUgdG8gcGVvcGxlLiBBbmQgYW55b25lIGNhbiB0eXBlIGl0IGluIGR1cmluZyBib290LiBB TkQgVEhBVAo+ID4gU0hPVUxETidUIEJFIFBPU1NJQkxFIElOIFRIRSBGSVJTVCBQTEFDRSEKPiA+ IAo+ID4gVGhpcyBpbmZvcm1hdGlvbiBpcyBzdHJpY3RseSBmb3IgdGhlIGtkdW1wIGtlcm5lbCAt IGl0IHNob3VsZG4ndCBiZSBhCj4gPiBnZW5lcmljIGNvbW1hbmQgbGluZSBvcHRpb24uIEhvdyBo YXJkIGl0IGlzIHRvIHVuZGVyc3RhbmQgdGhhdCBzaW1wbGUKPiA+IGZhY3Q/IQo+IAo+IENhbG0g ZG93biEKPiAKPiBEaXNhYmxpbmcgdGhhdCBOTUkgaW4gdGhlIGZpcnN0IGtlcm5lbCBpcyBub3Qg Z29pbmcgdG8gbWFrZSB0aGUgd29ybGQKPiBleHBsb2RlLiBXZSBoYXZlIGVub3VnaCBjb21tYW5k IGxpbmUgb3B0aW9ucyBhIHVzZXIgY2FuIHR5cGUgaW4sIHdoaWNoCj4gYXJlIHdheSB3b3JzZSB0 aGFuIHRoYXQgb25lLiBJZiBzb21lICJleHBlcnQiIHR5cGVzIG5vbnNlbnNlIG9uIHRoZQo+IGZp cnN0IGtlcm5lbCBjb21tYW5kIGxpbmUsIHRoZW4gaXQncyBub25lIG9mIG91ciBwcm9ibGVtcywg cmVhbGx5Lgo+IAo+IElmIEthd2FpIHdvdWxkIGhhdmUgbWFya2VkIHRoYXQgb3B0aW9uIGFzIGEg ZGVidWcgZmVhdHVyZSwgdGhpcwo+IGRpc2N1c3Npb24gd291bGQgaGF2ZSBwcm9iYWJseSBuZXZl ciBoYXBwZW5lZC4KPiAKPiBBc2lkZSBvZiB0aGF0LCB0aGUgYmVzdCB3YXkgdG8gaGFuZCBpbiBv cHRpb25zIGZvciB0aGUga2R1bXAga2VybmVsIGlzCj4gdGhlIGNvbW1hbmQgbGluZS4gV2UgaGF2 ZSBhbiBleGlzdGluZyBpbnRlcmZhY2UgZm9yIHRoYXQuCj4gCj4gTGV0J3MgbW92ZSBvbi4gTm90 aGluZyB0byBzZWUgaGVyZS4KClNvIEJvcmlzIGtpbmQgb2YgaGFzIGEgcG9pbnQ6IHRoZXJlIGFy ZSBudW1lcm91cyBwcm9ibGVtcyB3aXRoIGJvb3Qgb3B0aW9ucyBhcyAKa2V4ZWMgcGFyYW1ldGVy IGludGVyZmFjZToKCiAtIGJvb3Qgb3B0aW9uIHN0cmluZ3MgYXJlIG5vdCBhIHdlbGwgZGVmaW5l ZCBwcm9ncmFtbWF0aWMgaW50ZXJmYWNlOgogICAgLSBmYWlsdXJlcyBhcmUgbm90IG9idmlvdXMg KHRoZXkgYXJlIG9mdGVuIGlnbm9yZWQpCiAgICAtIGluc2VydGluZy9zZXR0aW5nIHBhcmFtZXRl cnMgaXMgYXdrd2FyZCBhcyB3ZWxsLgoKIC0gYm9vdCBvcHRpb25zIGFyZSBub3QgYW4gQUJJLCBz byB3aGVuIG9wdGlvbnMgaGF2ZSBkdWFsIHVzZSB3aXRoIGtleGVjIGl0J3MgZWFzeQogICB0byBi cmVhayB0aGluZ3MgaW5hZHZlcnRlbnRseTogd2l0aG91dCB0aGF0IGZhaWx1cmUgYmVpbmcgYXBw YXJlbnQgb3RoZXIgdGhhbgogICByZWludHJvZHVjaW5nIG9ic2N1cmUga2V4ZWMgZmFpbHVyZSBt b2RlcyBhZ2Fpbi4KCiAtIGluIHRoZSBib290ZWQgdXAga2V4ZWMga2VybmVsIGl0J3Mgbm90IHJl YWxseSBvYnZpb3VzIHdoaWNoIG9wdGlvbnMgZ290IHNldCBieQogICBrZXhlYyBhbmQgd2hpY2gg Z290IHNldCBieSB0aGUgdXNlciAtIGFzIHRoZXJlJ3Mgbm8gc2VwYXJhdGlvbiBvZiBuYW1lc3Bh Y2VzLgoKIC0gbGlrZXdpc2UsIGlmIHRoZSB1c2VyIHNwZWNpZmllcyBhbiBvcHRpb24gaW4gY29u ZmxpY3Qgd2l0aCBhIGtleGVjIHJlcXVpcmVtZW50CiAgIGl0J3Mgbm90IHJlYWxseSBvYnZpb3Vz IHdoYXQncyBoYXBwZW5pbmc6IHRoZSB1c2VyIHNldHRpbmcgc2hvdWxkIHByb2JhYmx5CiAgIGRv bWluYXRlIC0gSSdtIG5vdCBzdXJlIHRoYXQncyB0aGUgY2FzZSB3aXRoIHRoZSBjdXJyZW50IGtl eGVjIGNvZGUuCgpCb290IG9wdGlvbnMgYXJlIGJhc2ljYWxseSBhIHVzZXIgaW50ZXJmYWNlLgoK T24gdGhlIG90aGVyIGhhbmQgdGhlIGhhY2sgb2YgKGFiLSl1c2luZyBib290IHBhcmFtZXRlcnMg YXMga2V4ZWMgcGFyYW1ldGVyIApwYXNzaW5nIGlzIGFuIGV4aXN0aW5nLCBtYW55IHllYXJzIG9s ZCBwcmFjdGljZSBhbmQgd2UgY2Fubm90IGp1c3Qgc3RvcCBpdCB3aXRob3V0IApvZmZlcmluZyBh biBhbHRlcm5hdGl2ZSAoYW5kIGJldHRlciEpIGludGVyZmFjZSBmaXJzdC4KCldlIGNvdWxkIGlt cHJvdmUgdGhpbmdzIGJ5IGVpdGhlciBhZGRpbmcgYSBzZXBhcmF0ZSBrZXhlYy1vbmx5IHBhcmFt ZXRlciBwYXNzaW5nIApmYWNpbGl0eSAobGlrZSBwcm9ncmFtbWF0aWMgYm9vdCBwYXJhbWV0ZXJz IGFyZSkgLSBvciBieSBjcmVhdGluZyBzb21lIHNvcnQgb2YgCmJvb3QgcGFyYW1ldGVyIGFsaWFz IHRoYXQgY2xlYXJseSBpZGVudGlmaWVzIGtleGVjIHBhcmFtZXRlcnMuCgpTbyBmb3IgZXhhbXBs ZSB3aGVuIGludHJvZHVjaW5nICdub2V4dG5taScgd2UnZCBhbHNvIGFkZCBhIGZhY2lsaXR5IHRv IGFkZCBhIAona2V4ZWNfbm9leHRubWknIGFsaWFzIC0gd2hpY2ggY2xlYXJseSBpZGVudGlmaWVz IHRoaXMgYm9vdCBwYXJhbWV0ZXIgYXMgYSBrZXhlYyAKcmVsYXRlZCBvbmUuCgpFdmVyeSAna2V4 ZWMnIGluc2VydGVkIHBhcmFtZXRlciB3b3VsZCBiZSBwcmVmaXhlZCBieSBrZXhlY18gLSBhbmQg dGhlbiB0aGUgCnNlcGFyYXRpb24gb2YgbmFtZXNwYWNlcyAoYW5kIHRoZSBwcmlvcml0aXphdGlv biBvZiB1c2VyIHZzLiBrZXhlYyByZXF1aXJlbWVudHMpIApiZWNvbWVzIHdlbGwgZGVmaW5lZCBh cyB3ZWxsLi4KCldlIHNob3VsZCBhbHNvIHByb2JhYmx5IHByaW50IGEgd2FybmluZyBpZiBhIGtl eGVjXyogcGFyYW1ldGVyIGlzIHBhc3NlZCBpbiB0aGF0IApoYXMgbm8gbWF0Y2hpbmcgaGFuZGxl ciBpbiB0aGUga2V4ZWMoKS1lZCBrZXJuZWwuCgpJIGRvIGNvbmN1ciB0aGF0IHRoaXMgcGF0Y2gg aXMgcHJvYmFibHkgT0sgZ2l2ZW4gZXhpc3RpbmcgcHJhY3RpY2VzLgoKVGhhbmtzLAoKCUluZ28K 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 S1753974AbbJNNyf (ORCPT ); Wed, 14 Oct 2015 09:54:35 -0400 Received: from mail-wi0-f196.google.com ([209.85.212.196]:33176 "EHLO mail-wi0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753579AbbJNNyd (ORCPT ); Wed, 14 Oct 2015 09:54:33 -0400 Date: Wed, 14 Oct 2015 15:54:28 +0200 From: Ingo Molnar To: Thomas Gleixner Cc: Borislav Petkov , =?utf-8?B?5rKz5ZCI6Iux5a6PIC8gS0FXQUnvvIxISURFSElSTw==?= , "'Peter Zijlstra'" , Jonathan Corbet , "Eric W. Biederman" , "H. Peter Anvin" , Andrew Morton , Vivek Goyal , "linux-doc@vger.kernel.org" , "x86@kernel.org" , "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Michal Hocko , Ingo Molnar , =?utf-8?B?5bmz5p2+6ZuF5bezIC8gSElSQU1BVFXvvIxNQVNBTUk=?= Subject: Re: [V4 PATCH 4/4] x86/apic: Introduce noextnmi boot option Message-ID: <20151014135428.GC10316@gmail.com> References: <20151001062733.GL2881@worktop.programming.kicks-ass.net> <04EAB7311EE43145B2D3536183D1A8445499D30D@GSjpTKYDCembx31.service.hitachi.net> <20151001084335.GA3764@pd.tnic> <04EAB7311EE43145B2D3536183D1A8445499DB92@GSjpTKYDCembx31.service.hitachi.net> <20151001110110.GA3544@pd.tnic> <04EAB7311EE43145B2D3536183D1A8445499ED83@GSjpTKYDCembx31.service.hitachi.net> <20151002074721.GA16538@pd.tnic> <04EAB7311EE43145B2D3536183D1A844549A4557@GSjpTKYDCembx31.service.hitachi.net> <20151005082704.GA23259@nazgul.tnic> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Thomas Gleixner wrote: > Borislav, > > On Mon, 5 Oct 2015, Borislav Petkov wrote: > > On Mon, Oct 05, 2015 at 02:03:58AM +0000, 河合英宏 / KAWAI,HIDEHIRO wrote: > > > That's different from my point of view. I'm not going to pass > > > some data from the first kernel to the second kernel. I'm just going to > > > provide a configurable option for the second kernel to users. > > > > Dude, WTF?! You're adding a kernel command line which is supposed to > > be used *only* by the kdump kernel. But nooo, it is there in the open > > and visible to people. And anyone can type it in during boot. AND THAT > > SHOULDN'T BE POSSIBLE IN THE FIRST PLACE! > > > > This information is strictly for the kdump kernel - it shouldn't be a > > generic command line option. How hard it is to understand that simple > > fact?! > > Calm down! > > Disabling that NMI in the first kernel is not going to make the world > explode. We have enough command line options a user can type in, which > are way worse than that one. If some "expert" types nonsense on the > first kernel command line, then it's none of our problems, really. > > If Kawai would have marked that option as a debug feature, this > discussion would have probably never happened. > > Aside of that, the best way to hand in options for the kdump kernel is > the command line. We have an existing interface for that. > > Let's move on. Nothing to see here. So Boris kind of has a point: there are numerous problems with boot options as kexec parameter interface: - boot option strings are not a well defined programmatic interface: - failures are not obvious (they are often ignored) - inserting/setting parameters is awkward as well. - boot options are not an ABI, so when options have dual use with kexec it's easy to break things inadvertently: without that failure being apparent other than reintroducing obscure kexec failure modes again. - in the booted up kexec kernel it's not really obvious which options got set by kexec and which got set by the user - as there's no separation of namespaces. - likewise, if the user specifies an option in conflict with a kexec requirement it's not really obvious what's happening: the user setting should probably dominate - I'm not sure that's the case with the current kexec code. Boot options are basically a user interface. On the other hand the hack of (ab-)using boot parameters as kexec parameter passing is an existing, many years old practice and we cannot just stop it without offering an alternative (and better!) interface first. We could improve things by either adding a separate kexec-only parameter passing facility (like programmatic boot parameters are) - or by creating some sort of boot parameter alias that clearly identifies kexec parameters. So for example when introducing 'noextnmi' we'd also add a facility to add a 'kexec_noextnmi' alias - which clearly identifies this boot parameter as a kexec related one. Every 'kexec' inserted parameter would be prefixed by kexec_ - and then the separation of namespaces (and the prioritization of user vs. kexec requirements) becomes well defined as well.. We should also probably print a warning if a kexec_* parameter is passed in that has no matching handler in the kexec()-ed kernel. I do concur that this patch is probably OK given existing practices. Thanks, Ingo