From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from [59.151.112.132] (helo=heian.cn.fujitsu.com) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bVFjR-0006A6-HH for kexec@lists.infradead.org; Thu, 04 Aug 2016 10:18:54 +0000 From: "Wei, Jiangang" Subject: Re: [PATCH v2 3/3] x86/apic: Improved the setting of interrupt mode for bsp Date: Thu, 4 Aug 2016 10:17:59 +0000 Message-ID: <1470305688.2274.85.camel@localhost> References: <1469501995-2991-1-git-send-email-weijg.fnst@cn.fujitsu.com> <1469501995-2991-4-git-send-email-weijg.fnst@cn.fujitsu.com> <87k2g92gxb.fsf@x220.int.ebiederm.org> <1469520148.7811.54.camel@localhost> <87h9b3s0vr.fsf@x220.int.ebiederm.org> In-Reply-To: <87h9b3s0vr.fsf@x220.int.ebiederm.org> Content-Language: en-US Content-ID: <7BA6BA792A30E7449ABABC1F4D77D82A@fujitsu.local> MIME-Version: 1.0 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: "ebiederm@xmission.com" Cc: "bhe@redhat.com" , "xpang@redhat.com" , "joro@8bytes.org" , "x86@kernel.org" , "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "Cao, Jin" , "mingo@redhat.com" , "kernel@kyup.com" , "hpa@zytor.com" , "tglx@linutronix.de" SGkgRXJpYywNCg0KSSBoYXZlIHNldmVyYWwgcXVlc3Rpb25zIGFib3V0IGtkdW1wIGFuZCBBUElD IG1vZGUuDQpzcGVjaWZpYyBpc3N1ZXMgYXQgdGhlIGVuZCBvZiB0aGUgbWFpbC4NCg0KT24gVHVl LCAyMDE2LTA4LTAyIGF0IDA5OjI2IC0wNTAwLCBFcmljIFcuIEJpZWRlcm1hbiB3cm90ZToNCj4g IldlaSwgSmlhbmdhbmciIDx3ZWlqZy5mbnN0QGNuLmZ1aml0c3UuY29tPiB3cml0ZXM6DQo+IA0K PiA+IEhpIEVyaWMsDQo+ID4NCj4gPiBUaGFua3MgZm9yIHlvdXIgcmVzcG9uc2UuDQo+ID4gQnV0 IEkgaGF2ZSBzb21lIGRpZmZlcmVudCBpZGVhcy4uLg0KPiANCj4gQXBvbG9naWVzIGZvciBub3Qg cmVwbHlpbmcgdG8gdGhpcyBlYXJsaWVyIHlvdXIgcmVwbHkgZ290IGxvc3QgaW4gbXkNCj4gc3Bh bSBmb2xkZXIgYW5kIEkgb3Zlcmxvb2tlZCBpdC4NCj4gDQo+ID4gT24gTW9uLCAyMDE2LTA3LTI1 IGF0IDIyOjUzIC0wNTAwLCBFcmljIFcuIEJpZWRlcm1hbiB3cm90ZToNCj4gPj4gV2VpIEppYW5n YW5nIDx3ZWlqZy5mbnN0QGNuLmZ1aml0c3UuY29tPiB3cml0ZXM6DQo+ID4+IA0KPiA+PiA+IElm IHdlIHNwZWNpZnkgdGhlICdub3RzYycgcGFyYW1ldGVyIGZvciB0aGUgZHVtcC1jYXB0dXJlIGtl cm5lbCwNCj4gPj4gPiBhbmQgdGhlbiB0cmlnZ2VyIGEgY3Jhc2gocGFuaWMpIGJ5IHVzaW5nICJB TFQtU3lzUnEtYyIgb3INCj4gPj4gPiAiZWNobyBjID4gL3Byb2Mvc3lzcnEtdHJpZ2dlciIsIHRo ZSBkdW1wLWNhcHR1cmUga2VybmVsIHdpbGwNCj4gPj4gPiBoYW5nIGluIGNhbGlicmF0ZV9kZWxh eV9jb252ZXJnZSgpIGFuZCB3YWl0IGZvciBqaWZmaWVzIGNoYW5nZXMuDQo+ID4+ID4gc2VyaWFs IGxvZyBhcyBmb2xsb3dzOg0KPiA+PiA+DQo+ID4+ID4gICAgIHRzYzogRmFzdCBUU0MgY2FsaWJy YXRpb24gdXNpbmcgUElUDQo+ID4+ID4gICAgIHRzYzogRGV0ZWN0ZWQgMjA5OS45NDcgTUh6IHBy b2Nlc3Nvcg0KPiA+PiA+ICAgICBDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uDQo+ID4+ID4NCj4g Pj4gPiBUaGUgcmVhc29uIGZvciBqaWZmaWVzIG5vdCBjaGFuZ2VzIGlzIHRoZXJlJ3Mgbm8gdGlt ZXIgaW50ZXJydXB0DQo+ID4+ID4gcGFzc2VkIHRvIGR1bXAtY2FwdHVyZSBrZXJuZWwuDQo+ID4+ ID4NCj4gPj4gPiBJbiBmYWN0LCBvbmNlIGtlcm5lbCBwYW5pYyBvY2N1cnMsIHRoZSBsb2NhbCBB UElDIGlzIGRpc2FibGVkDQo+ID4+ID4gYnkgbGFwaWNfc2h1dGRvd24oKSBpbiByZWJvb3QgcGF0 aC4NCj4gPj4gPiBnZW5lcmx5IHNwZWFraW5nLCBsb2NhbCBBUElDIHN0YXRlIGNhbiBiZSBpbml0 aWFsaXplZCBieSBCSU9TDQo+ID4+ID4gYWZ0ZXIgUG93ZXItVXAgb3IgUmVzZXQsIHdoaWNoIGRv ZXNuJ3QgYXBwbHkgdG8ga2R1bXAgY2FzZS4NCj4gPj4gPiBzbyB0aGUga2VybmVsIGhhcyB0byBi ZSByZXNwb25zaWJsZSBmb3IgaW5pdGlhbGl6ZSB0aGUgaW50ZXJydXB0DQo+ID4+ID4gbW9kZSBw cm9wZXJseSBhY2NvcmRpbmcgdGhlIGxhdGVzdCBzdGF0dXMgb2YgQVBJQyBpbiBib290dXAgcGF0 aC4NCj4gPj4gPg0KPiA+PiA+IEFuIE1QIG9wZXJhdGluZyBzeXN0ZW0gaXMgYm9vdGVkIHVuZGVy IGVpdGhlciBQSUMgbW9kZSBvcg0KPiA+PiA+IHZpcnR1YWwgd2lyZSBtb2RlLiBMYXRlciwgdGhl IG9wZXJhdGluZyBzeXN0ZW0gc3dpdGNoZXMgdG8NCj4gPj4gPiBzeW1tZXRyaWMgSS9PIG1vZGUg YXMgaXQgZW50ZXJzIG11bHRpcHJvY2Vzc29yIG1vZGUuDQo+ID4+ID4gVHdvIGtpbmRzIG9mIHZp cnR1YWwgd2lyZSBtb2RlIGFyZSBkZWZpbmVkIGluIEludGVsIE1QIHNwZWM6DQo+ID4+ID4gdmly dHVhbCB3aXJlIG1vZGUgdmlhIGxvY2FsIEFQSUMgb3IgdmlhIEkvTyBBUElDLg0KPiA+PiA+DQo+ ID4+ID4gTm93IHdlIGRldGVybWluZSB0aGUgbW9kZSBvZiBBUElDIG9ubHkgdGhyb3VnaCBhIFNN UCBCSU9TKE1QIHRhYmxlKS4NCj4gPj4gPiBUaGF0J3Mgbm90IGVub3VnaC4gSXQncyBiZXR0ZXIg dG8gZG8gZnVydGhlciBjaGVjayBpZiBBUElDIHdvcmtzDQo+ID4+ID4gd2l0aCBlZmZlY3RpdmUg aW50ZXJydXB0IG1vZGUsIGFuZCB0aGVuLCBkbyBzb21lIHByb3BlciBzZXR0aW5nLg0KPiA+PiAN Cj4gPj4gUmVhZGluZyB0aHJvdWdoIHRoZSBjb2RlIGxldCBtZSBwYXVzZSBhIG1vbWVudCBhbmQg c2F5Og0KPiA+PiAiWW93emVycyB0aGUgaW50ZXJydXB0IGluaXRpYWxpemF0aW9uIGNvZGUgaGFz IGdvdHRlbiBoYXJkIHRvIGZvbGxvdy4gIEl0DQo+ID4+IGlzIG5vdyBmdWxsIG9mIGluZGlyZWN0 aW9uIHdpdGggaWxsIGRlZmluZWQgc2VtYW50aWNzLiIgIHByZV92ZWN0b3JfaW5pdA0KPiA+PiBp bmRlZWQuDQo+ID4+IA0KPiA+PiBJIHdpbGwgYXJndWUgdGhpcyBpcyB0aGUgd3JvbmcgZml4Lg0K PiA+PiANCj4gPj4gV2UgcmVhbGx5IHNob3VsZCBub3QgaGF2ZSB0byB3b3JyeSBhYm91dCBnZXR0 aW5nIHRoZSBzeXN0ZW0gZnVuY3Rpb25hbA0KPiA+PiBpbiB2aXJ0dWFsIHdpcmUgbW9kZSBvbiBh IG1vZGVybiBzeXN0ZW0uICBBbmQgbG9va2luZyBhdCB0aGUgY29kZQ0KPiA+PiBzb21lb25lIGhh cyBkb25lIGhhbGYgdGhlIHdvcmsgYW5kIG1hZGUgaXQgY29uZGl0aW9uYWwgdW5kZXINCj4gPj4g YWNwaV9nYmxfcmVkdWNlZF9oYXJkd2FyZS4NCj4gPj4gDQo+ID4+IE5vdyByZWR1Y2VkIGhhcmR3 YXJlIGltcGxpZXMgYSBiaXQgbW9yZSB0aGFuIHdlIHdhcmUgdGFsa2luZyBhYm91dCBidXQNCj4g Pj4gaWYgdGhlcmUgaXMgQUNQSSBhcGljIGluZm9ybWF0aW9uIHdlIHNob3VsZCBub3QgbmVlZCB0 byB3b3JyeSBhYm91dA0KPiA+PiBleHRlcm5hbCBpbnRlcnJ1cHRzIGFuZCBjYW4ganVzdCBlbmFi bGUgdGhlIGFwaWNzLg0KPiA+PiANCj4gPj4gSW4gZmFjdCBJIHRoaW5rIGhhdmluZyBNUHRhYmxl IGluZm9ybWF0aW9uIGlzIGVub3VnaCBmb3IgdGhhdC4NCj4gPg0KPiA+IEluIG15IG9waW5pb24s IFRoZSBNUCB0YWJsZSBpcyBub3QgdG8gYmUgdHJ1c3RlZCBpZiBzeXN0ZW0gc3RhcnRzDQo+ID4g d2l0aG91dCBCSU9TIHBocmFzZS4gDQo+ID4NCj4gPiBUaGUgY2hhcHRlciAzLjggU3lzdGVtIElu aXRpYWwgU3RhdGUgKE1QIHYxLjQgc3BlYykgc2FpZCBiZWxvdzoNCj4gPiAiMS4gQWxsIGxvY2Fs IEFQSUNzIGFyZSBkaXNhYmxlZCwgZXhjZXB0IGZvciB0aGUgbG9jYWwgQVBJQyBvZiB0aGUgQlNQ DQo+ID4gaWYgdGhlIHN5c3RlbSBzdGFydHMgaW4gVmlydHVhbCBXaXJlIE1vZGUuIg0KPiA+DQo+ ID4gQW5kDQo+ID4gLi4uLi4NCj4gPiAiVGhlIEJJT1MgbXVzdCBkaXNhYmxlIGludGVycnVwdHMg dG8gYWxsIHByb2Nlc3NvcnMgYW5kIHNldCB0aGUgQVBJQ3MgdG8NCj4gPiB0aGUgc3lzdGVtIGlu aXRpYWwgc3RhdGUgYmVmb3JlIGdpdmluZyBjb250cm9sIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVt Lg0KPiA+IFRoZSBvcGVyYXRpbmcgc3lzdGVtIGlzIHJlc3BvbnNpYmxlIGZvciBpbml0aWFsaXpp bmcgYWxsIG9mIHRoZSBBUElDcyINCj4gPg0KPiA+IFRoZSBkdW1wLWNhcHR1cmUga2VybmVsIHdv bid0IHRocm91Z2ggdGhlIEJJT1MgcGhyYXNlLA0KPiA+IHNvIHRoZXJlIGlzIG5vIGd1YXJhbnRl ZSBvZiB0aGUgaW50ZXJydXB0IG1vZGUgb2YgQVBJQyBhbmQgdGhlIHN0YXR1cyBvZg0KPiA+IGxv Y2FsIEFQSUMuDQo+ID4NCj4gPiBBbHRob3VnaCB0aGUgTVAgdGFibGUgaXMgcmVhZC1vbmx5LA0K PiA+IHRoZSBkdW1wLWNhcHR1cmUga2VybmVsIHVzZXMgdGhlIE1QIHRhYmxlIHdoaWNoIGJlIGdl bmVyYXRlZCBiZWZvcmUgdGhlDQo+ID4gZmlyc3Qga2VybmVsIGJvb3RzIHVwIGlzIHVucmVhc29u YWJsZS4gDQo+ID4gQXQgbGVhc3QsIG9ubHkgY2hlY2tpbmcgTVAgdGFibGUgaXMgbm90IGVub3Vn aC4NCj4gPiBUaGF0J3MgdGhlIHN0YXJ0aW5nIHBvaW50IG9mIG15IHBhdGNoLg0KPiA+DQo+ID4g WW91IHNhaWQg4oCcdGhpcyBpcyB0aGUgd3JvbmcgZml44oCdLCANCj4gPiBJcyB0aGVyZSBhbnkg d3Jvbmcgd2l0aCB0aGUgY29kZXMgb3IgbXkgc29sdXRpb24gdG8gY2hlY2sgdGhlIHN0YXR1cyBv Zg0KPiA+IEFQSUMgaW4gYm9vdHVwIHBhdGg/DQo+IA0KPiBUb2RheSBpbiBhIGR1bXAgY2FwdHVy ZSBrZXJuZWwgaXQgdXNlcyB0aGUgTVAgdGFibGUgb3IgdGhlIEFDUEkgTVANCj4gaW5mb3JtYXRp b24gdG8gc2V0IHVwIHRoZSBhcGljcy4NCj4gDQo+IEhvdyBJIHJlYWQgeW91ciBwYXRjaCBpcyB5 b3UgZG8gc29tZXRoaW5nIGNsZXZlciB0byBnZXQgaW4gdmlydHVhbCB3aXJlDQo+IG1vZGUuICBB S0EgYSBoaXN0b3JpY2FsIFBDL0FUIGNvbXBhdGlibGUgbW9kZS4gIEkgdGhpbmsgd2Ugc2hvdWxk IGp1c3QNCj4gc2tpcCB0aGF0IG1vZGUgZW50aXJlbHkuDQo+IA0KPiA+PiBTbyBJIHRoaW5rIHdo YXQgbmVlZHMgdG8gaGFwcGVucyBpcyBmb3IgdGhlIGFwaWMgaW5pdGlhbGl6YXRpb24gdG8gZ2V0 DQo+ID4+IGFuIG92ZXJoYXVsIHRoYXQgbWFrZXMgYXBpYyBpbml0aWFsaXphdGlvbiB0aGUgaGFw cHkgcGF0aCBhbmQgdGhlIG90aGVyDQo+ID4+IGlycSBjb250cm9sbGVycyB0aGUgb2RkIGJhY2t3 YXJkcyBjb21wYXRpYmlsaXR5IHBhdGguICBBbmQgd2hlbiB3ZQ0KPiA+PiBhcmUgZG9uZSB3ZSBu ZXZlciBydW4gaW4gYW55dGhpbmcgZXhjZXB0IGZ1bGwgYXBpYyBtb2RlIHVubGVzcyB0aGUNCj4g Pj4gaGFyZHdhcmUgZG9lc24ndCBzdXBwb3J0IGl0Lg0KPiA+IFRoZSBzcGVjIHJlcXVlc3RzICJB biBNUCBvcGVyYXRpbmcgc3lzdGVtIGlzIGJvb3RlZCB1bmRlciBlaXRoZXIgb25lIG9mDQo+ID4g dGhlIHR3byBQQy9BVC1jb21wYXRpYmxlIG1vZGVzLiBMYXRlciB0aGUgb3BlcmF0aW5nIHN5c3Rl bSBzd2l0Y2hlcyB0bw0KPiA+IFN5bW1ldHJpYyBJL08gTW9kZSBhcyBpdCBlbnRlcnMgbXVsdGlw cm9jZXNzb3IgbW9kZS4iDQo+ID4gQW5kIGl0IHNlZW1zIHRoYXQgdGhlIGxhdGVzdCBrZXJuZWwg Zm9sbG93cyB0aGUgcnVsZS4NCj4gPiBEb2VzIHRoZSBhcGljIGluaXRpYWxpemF0aW9uIHJlYWxs eSBuZWVkIHRvIGJlIGNoYW5nZWQ/DQo+IA0KPiBGb3Igc2ltcGxpY2l0eSB3aGVuIE1QIHN1cHBv cnQgd2FzIGZpcnN0IGFkZGVkLCBhIGZldyBwYXJ0cyBvZiBlYXJseQ0KPiBib290dXAgd2VyZSBs ZWZ0IGhhbmRsZWQgaW4gUEMvQVQgY29tcGF0aWJsZSBtb2RlLiAgTW9zdGx5IGl0IGlzIGp1c3QN Cj4gc2lsbHkuDQo+IA0KPiBVbmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiBJIHRoaW5rIHdl IHNob3VsZCBzdHJpdmUgdG8gcmVtb3ZlIHRob3NlDQo+IGZldyBtb21lbnRzIHdoZW4gdGhlIHN5 c3RlbSBpcyB1c2luZyBpbnRlcnJ1cHRzIGluIFBDL0FUIG1vZGUgYW5kIGFsd2F5cw0KPiBydW4g aW50ZXJydXB0cyBpbiB0aGUgZmluYWwgbW9kZSB3ZSBpbnRlbmQgdG8gcnVuIGludGVycnVwdHMg aW4uDQo+IEluIGZhY3QgdGhlIGNvZGUgdW5kZXIgYWNwaV9nYmxfcmVkdWNlZF9oYXJkd2FyZSBk b2VzIHRoYXQgZm9yIHNvbWUNCj4gc3BlY2lhbCBjYXNlcyBhbHJlYWR5IHRvZGF5Lg0KPiANCj4g QXQgdGhlIGVuZCBvZiB0aGUgZGF5IHRoYXQgc2hvdWxkIGVuZCB1cCB3aXRoIGEgc2ltcGxlciBt b3JlIHJlbGlhYmxlDQo+IGtlcm5lbC4gIEVzcGVjaWFsbHkgZm9yIHRoZSBkdW1wIGNhcHR1cmUg a2VybmVsLg0KPiANCj4gQUtBOg0KPiBJIGFtIHByb3Bvc2luZyBtYWtlIHRoZSBjb2RlIHNheSBz b21ldGhpbmcgbGlrZToNCj4gCWlmIChwY19hdF9jb21wYXRpYmxlX3BpY19tb2RlKSB7DQo+ICAg ICAgICAgCWRvX2xlZ2FjeV9waWNfbW9kZSgpOw0KPiAgICAgICAgIH0gZWxzZSB7DQo+ICAgICAg ICAgCWRvX21wX21vZGUoKTsNCj4gICAgICAgICB9DQo+IA0KPiBJZiBteSBtZW1vcnkgc2VydmVz IHZpcnR1YWwgd2lyZSBtb2RlIGRvZXMgbm90IG5lZWQgdG8gYmUgZW5hYmxlZCBhdCBhbGwNCj4g aW4gbXAgbW9kZSwgc28gaWYgd2UgYXJlIGNvbWluZyBmcm9tIG1wIG1vZGUgKHdpdGggbm8gc2h1 dGRvd24gb2YgdGhlDQo+IGFwaWNzIGluIHRoZSBmaXJzdCBrZXJuZWwpLiAgVGhlbiB0aGVyZSB3 aWxsIGJlIG5vIGluZm9ybWF0aW9uIGFueXdoZXJlDQo+IGFib3V0IHdoaWNoIGFwaWNzIG5lZWQg dG8gYmUgcHJvZ3JhbW1lZCBpbnRvIGFwaWMgbW9kZS4NCiJtcCBtb2RlIiB5b3UgbWVudGlvbmVk IG1lYW5zICJTeW1tZXRyaWMgSS9PIE1vZGUiLCByaWdodCA/DQoNCj4gDQo+IEFzIHN1Y2ggdG8g c2ltcGxpZnkgdGhlIGtkdW1wIHByb2Nlc3MgaXQgaXMgdGhlIHdyb25nIHByb2Nlc3MgdG8gZ28g YmFjaw0KPiBpbnRvIHZpcnR1YWwgd2lyZSBQQy9BVCBjb21wYXRpYmxlIHBpYyBtb2RlLiAgQmVj YXVzZSBvbmNlIHdlIHJlbW92ZSB0aGUNCj4gY29kZSBmcm9tIHRoZSBjcmFzaGluZyBrZXJuZWwg d2Ugd29uJ3QgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24gdG8gbWFrZQ0KPiBpdCB3b3JrLiAgVW5m b3J0dW5hdGVseSBpbiBzb21lIGNhc2VzIGl0IGlzIGEgb25lIHdheSB0cmFuc2l0aW9uLg0KDQpZ b3UgZXZlciB0b2xkIG1lIHRoYXQgdGhlIG9ubHkgcmVhc29uIHdlIGhhdmUgZG8gYW55IGFwaWMg c2h1dGRvd24gaXMNCmJ1Z3MgaW4gb2xkZXIga2VybmVscy4gYW5kIGxvb2tzIGxpa2UgeW91J3Jl IGluY2xpbmVkIHRvIHJlbW92ZSB0aGUNCmNvZGVzIHVzZWQgdG8gc2h1dGRvd24gQVBJQy4NClRo YXQncyBhbiBpbXBvcnQgc3RhcnQgcG9pbnQgeW91IHN1Z2dlc3QgbWUgdG8gZW5hYmxlICJTeW1t ZXRyaWMgSS9PDQpNb2RlIiBhdCB0aGUgYm9vdHVwIHN0YWdlIG9mIGtlcm5lbCwgcmlnaHQ/DQoN CmJ1dCBJbiBteSBvcGluaW9uLCB0aGUga2R1bXAtY2FwdHVyZSBrZXJuZWwgZG9uJ3QgbmVlZCB0 byBydW4gb24gTVANCnN5c3RlbSwgYnV0IG9ubHkgb24gQlNQLiBnZW5lcmFsbHksIHdlIHVzZSBr ZHVtcCB3aXRoIG5yX2NwdXM9MS4gDQpJZiBvbmx5IG9uZSBjcHUgaXMgZW5hYmxlZCBhbmQgdXNl ZCwgIGRvIHdlIHN0aWxsIG5lZWQgdG8gc2V0ICJTeW1tZXRyaWMNCkkvTyBNb2RlIiBmb3IgQVBJ QyA/IEkgdGhpbmsgdGhlIGFuc3dlciBpcyBuby4NCg0KSW4gb3RoZXIgd29yZHMsIEl0J3MgaW50 ZW5kZWQgdGhhdCBnbyBiYWNrIGludG8gdmlydHVhbCB3aXJlIFBDL0FUDQpjb21wYXRpYmxlIHBp YyBtb2RlIGJ5IHNodXRkb3duIEFQSUMuDQoNCklmIHRoZXJlJ3Mgc29tZXRoaW5nIHdyb25nIHdp dGggbXkgdW5kZXJzdGFuZGluZywgUGxlYXNlIGNvcnJlY3QgbWUuDQoNClRoYW5rcywNCndlaQ0K PiANCj4gRXJpYw0KPiANCj4gDQoNCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18Ka2V4ZWMgbWFpbGluZyBsaXN0CmtleGVjQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXhlYwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758628AbcHDKSR (ORCPT ); Thu, 4 Aug 2016 06:18:17 -0400 Received: from cn.fujitsu.com ([59.151.112.132]:26236 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1758583AbcHDKSL (ORCPT ); Thu, 4 Aug 2016 06:18:11 -0400 X-IronPort-AV: E=Sophos;i="5.22,518,1449504000"; d="scan'208";a="9556676" From: "Wei, Jiangang" To: "ebiederm@xmission.com" CC: "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "Cao, Jin" , "tglx@linutronix.de" , "bhe@redhat.com" , "xpang@redhat.com" , "kernel@kyup.com" , "x86@kernel.org" , "hpa@zytor.com" , "mingo@redhat.com" , "joro@8bytes.org" Subject: Re: [PATCH v2 3/3] x86/apic: Improved the setting of interrupt mode for bsp Thread-Topic: [PATCH v2 3/3] x86/apic: Improved the setting of interrupt mode for bsp Thread-Index: AQHR7Mu0vTROw5GMmUiq8dOP5d3f06A4ElsA Date: Thu, 4 Aug 2016 10:17:59 +0000 Message-ID: <1470305688.2274.85.camel@localhost> References: <1469501995-2991-1-git-send-email-weijg.fnst@cn.fujitsu.com> <1469501995-2991-4-git-send-email-weijg.fnst@cn.fujitsu.com> <87k2g92gxb.fsf@x220.int.ebiederm.org> <1469520148.7811.54.camel@localhost> <87h9b3s0vr.fsf@x220.int.ebiederm.org> In-Reply-To: <87h9b3s0vr.fsf@x220.int.ebiederm.org> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.167.226.50] Content-Type: text/plain; charset="utf-8" Content-ID: <7BA6BA792A30E7449ABABC1F4D77D82A@fujitsu.local> MIME-Version: 1.0 X-yoursite-MailScanner-ID: A3B7A42CA543.ACE7B X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: weijg.fnst@cn.fujitsu.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id u74AIORq004614 Hi Eric, I have several questions about kdump and APIC mode. specific issues at the end of the mail. On Tue, 2016-08-02 at 09:26 -0500, Eric W. Biederman wrote: > "Wei, Jiangang" writes: > > > Hi Eric, > > > > Thanks for your response. > > But I have some different ideas... > > Apologies for not replying to this earlier your reply got lost in my > spam folder and I overlooked it. > > > On Mon, 2016-07-25 at 22:53 -0500, Eric W. Biederman wrote: > >> Wei Jiangang writes: > >> > >> > If we specify the 'notsc' parameter for the dump-capture kernel, > >> > and then trigger a crash(panic) by using "ALT-SysRq-c" or > >> > "echo c > /proc/sysrq-trigger", the dump-capture kernel will > >> > hang in calibrate_delay_converge() and wait for jiffies changes. > >> > serial log as follows: > >> > > >> > tsc: Fast TSC calibration using PIT > >> > tsc: Detected 2099.947 MHz processor > >> > Calibrating delay loop... > >> > > >> > The reason for jiffies not changes is there's no timer interrupt > >> > passed to dump-capture kernel. > >> > > >> > In fact, once kernel panic occurs, the local APIC is disabled > >> > by lapic_shutdown() in reboot path. > >> > generly speaking, local APIC state can be initialized by BIOS > >> > after Power-Up or Reset, which doesn't apply to kdump case. > >> > so the kernel has to be responsible for initialize the interrupt > >> > mode properly according the latest status of APIC in bootup path. > >> > > >> > An MP operating system is booted under either PIC mode or > >> > virtual wire mode. Later, the operating system switches to > >> > symmetric I/O mode as it enters multiprocessor mode. > >> > Two kinds of virtual wire mode are defined in Intel MP spec: > >> > virtual wire mode via local APIC or via I/O APIC. > >> > > >> > Now we determine the mode of APIC only through a SMP BIOS(MP table). > >> > That's not enough. It's better to do further check if APIC works > >> > with effective interrupt mode, and then, do some proper setting. > >> > >> Reading through the code let me pause a moment and say: > >> "Yowzers the interrupt initialization code has gotten hard to follow. It > >> is now full of indirection with ill defined semantics." pre_vector_init > >> indeed. > >> > >> I will argue this is the wrong fix. > >> > >> We really should not have to worry about getting the system functional > >> in virtual wire mode on a modern system. And looking at the code > >> someone has done half the work and made it conditional under > >> acpi_gbl_reduced_hardware. > >> > >> Now reduced hardware implies a bit more than we ware talking about but > >> if there is ACPI apic information we should not need to worry about > >> external interrupts and can just enable the apics. > >> > >> In fact I think having MPtable information is enough for that. > > > > In my opinion, The MP table is not to be trusted if system starts > > without BIOS phrase. > > > > The chapter 3.8 System Initial State (MP v1.4 spec) said below: > > "1. All local APICs are disabled, except for the local APIC of the BSP > > if the system starts in Virtual Wire Mode." > > > > And > > ..... > > "The BIOS must disable interrupts to all processors and set the APICs to > > the system initial state before giving control to the operating system. > > The operating system is responsible for initializing all of the APICs" > > > > The dump-capture kernel won't through the BIOS phrase, > > so there is no guarantee of the interrupt mode of APIC and the status of > > local APIC. > > > > Although the MP table is read-only, > > the dump-capture kernel uses the MP table which be generated before the > > first kernel boots up is unreasonable. > > At least, only checking MP table is not enough. > > That's the starting point of my patch. > > > > You said “this is the wrong fix”, > > Is there any wrong with the codes or my solution to check the status of > > APIC in bootup path? > > Today in a dump capture kernel it uses the MP table or the ACPI MP > information to set up the apics. > > How I read your patch is you do something clever to get in virtual wire > mode. AKA a historical PC/AT compatible mode. I think we should just > skip that mode entirely. > > >> So I think what needs to happens is for the apic initialization to get > >> an overhaul that makes apic initialization the happy path and the other > >> irq controllers the odd backwards compatibility path. And when we > >> are done we never run in anything except full apic mode unless the > >> hardware doesn't support it. > > The spec requests "An MP operating system is booted under either one of > > the two PC/AT-compatible modes. Later the operating system switches to > > Symmetric I/O Mode as it enters multiprocessor mode." > > And it seems that the latest kernel follows the rule. > > Does the apic initialization really need to be changed? > > For simplicity when MP support was first added, a few parts of early > bootup were left handled in PC/AT compatible mode. Mostly it is just > silly. > > Unless there is a good reason I think we should strive to remove those > few moments when the system is using interrupts in PC/AT mode and always > run interrupts in the final mode we intend to run interrupts in. > In fact the code under acpi_gbl_reduced_hardware does that for some > special cases already today. > > At the end of the day that should end up with a simpler more reliable > kernel. Especially for the dump capture kernel. > > AKA: > I am proposing make the code say something like: > if (pc_at_compatible_pic_mode) { > do_legacy_pic_mode(); > } else { > do_mp_mode(); > } > > If my memory serves virtual wire mode does not need to be enabled at all > in mp mode, so if we are coming from mp mode (with no shutdown of the > apics in the first kernel). Then there will be no information anywhere > about which apics need to be programmed into apic mode. "mp mode" you mentioned means "Symmetric I/O Mode", right ? > > As such to simplify the kdump process it is the wrong process to go back > into virtual wire PC/AT compatible pic mode. Because once we remove the > code from the crashing kernel we won't have enough information to make > it work. Unfortunately in some cases it is a one way transition. You ever told me that the only reason we have do any apic shutdown is bugs in older kernels. and looks like you're inclined to remove the codes used to shutdown APIC. That's an import start point you suggest me to enable "Symmetric I/O Mode" at the bootup stage of kernel, right? but In my opinion, the kdump-capture kernel don't need to run on MP system, but only on BSP. generally, we use kdump with nr_cpus=1. If only one cpu is enabled and used, do we still need to set "Symmetric I/O Mode" for APIC ? I think the answer is no. In other words, It's intended that go back into virtual wire PC/AT compatible pic mode by shutdown APIC. If there's something wrong with my understanding, Please correct me. Thanks, wei > > Eric > >