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 1bNEt3-0004Mb-FE for kexec@lists.infradead.org; Wed, 13 Jul 2016 07:47:19 +0000 From: "Wei, Jiangang" Subject: Re: [PATCH v2] kexec: Fix kdump failure with notsc Date: Wed, 13 Jul 2016 07:46:48 +0000 Message-ID: <1468395865.2020.10.camel@localhost> References: <1467886646-2638-1-git-send-email-weijg.fnst@cn.fujitsu.com> <87r3b5z626.fsf@x220.int.ebiederm.org> <20160708073828.GA3216@gmail.com> <1468232891.15074.45.camel@localhost> In-Reply-To: <1468232891.15074.45.camel@localhost> Content-Language: en-US Content-ID: <24654B2400953143906A45295F77040D@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: "mingo@kernel.org" Cc: "fenghua.yu@intel.com" , "x86@kernel.org" , "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "mingo@redhat.com" , "ebiederm@xmission.com" , "hpa@zytor.com" , "tglx@linutronix.de" T24gTW9uLCAyMDE2LTA3LTExIGF0IDE4OjI4ICswODAwLCBXZWkgSmlhbmdhbmcgd3JvdGU6DQo+ IEhpICwgSW5nbw0KPiANCj4gT24gRnJpLCAyMDE2LTA3LTA4IGF0IDA5OjM4ICswMjAwLCBJbmdv IE1vbG5hciB3cm90ZToNCj4gPiAqIEVyaWMgVy4gQmllZGVybWFuIDxlYmllZGVybUB4bWlzc2lv bi5jb20+IHdyb3RlOg0KPiA+IA0KPiA+ID4gU2lnaC4gIENhbiB3ZSBwbGVhc2UganVzdCBkbyB0 aGUgd29yayB0byByaXAgb3V0IHRoZSBhcGljIHNodXRkb3duIGNvZGUgZnJvbSB0aGUgDQo+ID4g PiBrZXhlYyBvbiBwYW5pYyBjb2RlIHBhdGg/DQo+ID4gPiANCj4gPiA+IEkgZm9yZ2V0dGluZyBk ZXRhaWxzIGJ1dCB0aGUgb25seSByZWFzb24gd2UgaGF2ZSBkbyBhbnkgYXBpYyBzaHV0ZG93biBp cyBidWdzIGluIA0KPiA+ID4gb2xkZXIga2VybmVscyB0aGF0IGNvdWxkIG5vdCBpbml0aWFsaXpl IGEgc3lzdGVtIHByb3Blcmx5IGlmIHdlIGRpZCBub3Qgc2h1dCANCj4gPiA+IGRvd24gdGhlIGFw aWNzLg0KPiA+ID4gDQo+ID4gPiBJIGNlcnRhaW5seSBkb24ndCBzZWUgYW4gaXNzdWUgd2l0aCBn b29meSBjYXNlcyBsaWtlIG5vdHNjIG5vdCB3b3JraW5nIG9uIGEgDQo+ID4gPiBjcmFzaCBjYXB0 dXJlIGtlcm5lbCBpZiB3ZSBhcmUgbm90IGluaXRpYWxpemluZyB0aGUgaGFyZHdhcmUgcHJvcGVy bHkuDQo+ID4gPiANCj4gPiA+IFRoZSBzdHJhdGVneSByZWFsbHkgbmVlZHMgdG8gYmUgdG8gb25s eSBkbyB0aGUgYWJzb2x1dGVseSBlc3NlbnRpYWwgaGFyZHdhcmUgDQo+ID4gPiBzaHV0ZG93biBp biB0aGUgY3Jhc2hpbmcga2VybmVsLCBldmVyeSBhZGludGlvbmFsIGxpbmUgb2YgY29kZSB3ZSBl eGVjdXRlIGluIHRoZSANCj4gPiA+IGNyYXNoaW5nIGtlcm5lbCBpbmNyZWFzZXMgb3VyIGNoYW5j ZXMgb2YgaGl0dGluZyBhIGJ1Zy4NCj4gPiANCj4gPiBGdWxseSBhZ3JlZWQuDQo+ID4gDQo+ID4g PiBVbmRlciB0aGF0IHBvbGljeSB0aGluZ3MgbGlrZSByZXF1cmluZyB3ZSBkb24ndCBwYXNzIGJv b3Qgb3B0aW9ucyB0aGF0IGluaGliaXQgDQo+ID4gPiB0aGUgZHVtcCBjYXRwdXJlIGtlcm5lbCBm cm9tIGluaXRpYWxpemluZyB0aGUgaGFyZHdhcmUgZnJvbSBhIHJhbmRvbSBzdGF0ZSBhcmUgDQo+ ID4gPiByZWFzb25hYmxlIHJlcXVpcmVtZW50cy4gIEFLQSBJIGRvbid0IHNlZSBhbnkganVzdGlm aWNhdGlvbiBpbiB0aGlzIGFzIHRvIHdoeSB3ZSANCj4gPiA+IHdvdWxkIGV2ZW4gd2FudCB0byBz dXBwb3J0IG5vdHNjIG9uIHRoZSBkdW1wIGNhcHR1cmUga2VybmVsLiAgRXNwZWNpYWxseSB3aGVu IA0KPiA+ID4gdGhpbmdzIGNsZWFybHkgd29yayB3aGVuIHRoYXQgb3B0aW9uIGlzIG5vdCBzcGVj aWZpZWQuDQo+ID4gDQo+ID4gU28gYXQgbGVhc3Qgb24gdGhlIHN1cmZhY2UgaXQgYXBwZWFycyAn c3VycHJpc2luZycgdGhhdCB0aGUgJ25vdHNjJyBvcHRpb24gKHdoaWNoLCANCj4gPiBzdXBwb3Nl ZGx5LCBkaXNhYmxlcyBUU0MgaGFuZGxpbmcpIGludGVyZmVyZXMgd2l0aCBiZWluZyBhYmxlIHRv IGZ1bGx5IGJvb3QuIEV2ZW4gDQo+ID4gaWYgJ25vdHNjJyBpcyBzcGVjaWZpZWQgd2UgYXJlIHN0 aWxsIHVzaW5nIHRoZSBsb2NhbCBBUElDLCByaWdodD8NCj4gDQo+IEluIG1vc3QgY2FzZSwgIEl0 J3Mgbm8gcHJvYmxlbSB0aGF0IHVzaW5nIGxvY2FsIEFQSUMgd2hpbGUgbm90c2MgaXMNCj4gc3Bl Y2lmaWVkLg0KPiBCdXQgbm90IGZvciBrZHVtcC4NCj4gDQo+IFdlIGNhbiBnZXQgZXZpZGVuY2Us IEVzcGVjaWFsbHkgZnJvbSAiU3B1cmlvdXMgTEFQSUMgdGltZXIgaW50ZXJydXB0IG9uDQo+IGNw dSAwIi4NCj4gDQo+ICMjI3NlcmlhbCBsb2csDQo+IA0KPiBbICAgIDAuMDAwMDAwXSBOUl9JUlFT OjUyNDU0NCBucl9pcnFzOjI1NiAxNg0KPiBbICAgIDAuMDAwMDAwXSBTcHVyaW91cyBMQVBJQyB0 aW1lciBpbnRlcnJ1cHQgb24gY3B1IDANCj4gWyAgICAwLjAwMDAwMF0gQ29uc29sZTogY29sb3Vy IGR1bW15IGRldmljZSA4MHgyNQ0KPiBbICAgIDAuMDAwMDAwXSBjb25zb2xlIFt0dHkwXSBlbmFi bGVkDQo+IFsgICAgMC4wMDAwMDBdIGNvbnNvbGUgW3R0eVMwXSBlbmFibGVkDQo+IFsgICAgMC4w MDAwMDBdIHRzYzogRmFzdCBUU0MgY2FsaWJyYXRpb24gdXNpbmcgUElUDQo+IFsgICAgMC4wMDAw MDBdIHRzYzogRGV0ZWN0ZWQgMjA5OS45NDcgTUh6IHByb2Nlc3Nvcg0KPiBbICAgIDAuMDAwMDAw XSBDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uDQo+IA0KPiANCj4gRHVlIHRvIHRoZSBsb2NhbCBh cGljIGFuZCBsb2NhbCBhcGljIHRpbWVyIGhhc24ndCBiZWVuIHNldHVwIGFuZCBlbmFibGVkDQo+ IGZ1bGx5LCBUaGUgZXZlbnRfaGFuZGxlciBvZiBjbG9jayBldmVudCBpcyBOVUxMLg0KPiANCj4g IyMjY29kZXMsDQo+IA0KPiBzdGF0aWMgdm9pZCBsb2NhbF9hcGljX3RpbWVyX2ludGVycnVwdCh2 b2lkKQ0KPiB7DQo+ICAgICBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOw0KPiAgICAgc3Ry dWN0IGNsb2NrX2V2ZW50X2RldmljZSAqZXZ0ID0gJnBlcl9jcHUobGFwaWNfZXZlbnRzLCBjcHUp Ow0KPiANCj4gICAgIC8qDQo+ICAgICAgKiBOb3JtYWxseSB3ZSBzaG91bGQgbm90IGJlIGhlcmUg dGlsbCBMQVBJQyBoYXMgYmVlbiBpbml0aWFsaXplZA0KPiBidXQNCj4gICAgICAqIGluIHNvbWUg Y2FzZXMgbGlrZSBrZHVtcCwgaXRzIHBvc3NpYmxlIHRoYXQgdGhlcmUgaXMgYSBwZW5kaW5nDQo+ IExBUElDDQo+ICAgICAgKiB0aW1lciBpbnRlcnJ1cHQgZnJvbSBwcmV2aW91cyBrZXJuZWwncyBj b250ZXh0IGFuZCBpcyBkZWxpdmVyZWQNCj4gaW4NCj4gICAgICAqIG5ldyBrZXJuZWwgdGhlIG1v bWVudCBpbnRlcnJ1cHRzIGFyZSBlbmFibGVkLg0KPiAgICAgICoNCj4gICAgICAqIEludGVycnVw dHMgYXJlIGVuYWJsZWQgZWFybHkgYW5kIExBUElDIGlzIHNldHVwIG11Y2ggbGF0ZXIsIGhlbmNl DQo+ICAgICAgKiBpdHMgcG9zc2libGUgdGhhdCB3aGVuIHdlIGdldCBoZXJlIGV2dC0+ZXZlbnRf aGFuZGxlciBpcyBOVUxMLg0KPiAgICAgICogQ2hlY2sgZm9yIGV2ZW50X2hhbmRsZXIgYmVpbmcg TlVMTCBhbmQgZGlzY2FyZCB0aGUgaW50ZXJydXB0IGFzDQo+ICAgICAgKiBzcHVyaW91cy4NCj4g ICAgICAqLw0KPiAgICAgaWYgKCFldnQtPmV2ZW50X2hhbmRsZXIpIHsNCj4gICAgICAgICBwcl93 YXJuaW5nKCJTcHVyaW91cyBMQVBJQyB0aW1lciBpbnRlcnJ1cHQgb24gY3B1ICVkXG4iLCBjcHUp Ow0KPiAgICAgICAgIC8qIFN3aXRjaCBpdCBvZmYgKi8NCj4gICAgICAgICBsYXBpY190aW1lcl9z aHV0ZG93bihldnQpOw0KPiAgICAgICAgIHJldHVybjsNCj4gICAgIH0NCj4gDQo+ICAgICAgLi4u Li4uLi4uLi4uLg0KPiB9DQo+IA0KPiANCj4gSU1ITywgDQo+IElmIHdlIHNwZWNpZnkgbm90c2Ms IHRoZSBkdW1wLWNhcHR1cmUga2VybmVsIHdhaXRzIGZvciBqaWZmaWVzIGJlaW5nDQo+IHVwZGF0 ZWQgZWFybHkgYW5kIExBUElDIGFuZCB0aW1lciBhcmUgc2V0dXAgbXVjaCBsYXRlciwgd2hpY2gg Y2F1c2VzIG5vDQo+IHRpbWVyIGludGVycnVwdHMgaXMgcGFzc2VkIHRvIEJTUC4gYXMgZm9sbG93 aW5nLA0KPiANCj4gc3RhcnRfa2VybmVsICAtLT4NCj4gMSktPiBjYWxpYnJhdGVfZGVsYXkoKSAg LT4gY2FsaWJyYXRlX2RlbGF5X2NvbnZlcmdlKCkgICMgaGFuZyBhbmQgd2FpdA0KPiBmb3Igamlm ZmllcyBjaGFuZ2VkDQo+ICAgICAgICAgICAgICAgICAgICANCj4gMiktPiByZXN0X2luaXQoKSAt PiBrZXJuZWxfaW5pdCgpIC0+IC4uLi4gLT4gYXBpY19ic3Bfc2V0dXAoKSAtPg0KPiBzZXR1cF9s b2NhbF9BUElDKCkNCj4gDQo+IC0+IHNldHVwX3BlcmNwdV9jbG9ja2V2KCkuDQo+IA0KPiB0aGUg c2V0dXBfcGVyY3B1X2Nsb2NrZXYgcG9pbnRzIHNldHVwX2Jvb3RfQVBJQ19jbG9jaygpIHdoaWNo IHVzZWQgdG8NCj4gc2V0dXAgdGhlIGJvb3QgQVBJQyBhbmQgdGltZXIuDQo+IA0KPiANCj4gPiBT byBpdCBtaWdodCBiZSBhIGdvb2QgaWRlYSB0byBmaW5kIHRoZSByb290IGNhdXNlIG9mIHRoaXMg Ym9vdHVwIGZyYWdpbGl0eSBldmVuIGlmIA0KPiA+ICdub3RzYycgaXMgc3BlY2lmaWVkLiBBbmQg SSBmdWxseSBhZ3JlZSB0aGF0IGl0IHNob3VsZCBiZSBmaXhlZCBpbiB0aGUgYm9vdHVwIHBhdGgg DQo+ID4gb2YgdGhlIGR1bXAga2VybmVsLCBub3QgdGhlIGNyYXNoIGtlcm5lbCByZWJvb3QgcGF0 aC4NCj4gDQoNCkNhbiBhbnlvbmUgZ2l2ZSBzb21lIGFkdmljZSBvciBjb21tZXQgb24gdGhlIGZv bGxvd2luZyBpZGVh77yfDQpUaGFua3MgaW4gYWR2YW5jZS4NCg0KPiBCZWNhdXNlIHRoZSBsYXBp YyBhbmQgdGltZXIgYXJlIG5vdCByZWFkeSB3aGVuIGR1bXAtY2FwdHVyZSB3YWl0cyB0aGVtDQo+ IHRvIHVwZGF0ZSB0aGUgamlmZmllcyB2YWx1ZS4gc28gSSBzdWdnZXN0IHRvIHB1dCBBUElDIGlu IGxlZ2FjeSBtb2RlIGluDQo+IGxvY2FsX2FwaWNfdGltZXJfaW50ZXJydXB0KCkgdGVtcG9yYXJp bHksIHdoaWNoIGluIHRoZSBib290dXAgcGF0aCBvZg0KPiBkdW1wIGtlcm5lbC4gDQo+IA0KPiBk aWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FwaWMvYXBpYy5jIGIvYXJjaC94ODYva2VybmVs L2FwaWMvYXBpYy5jDQo+IGluZGV4IGRjYjUyODUwYTI4Zi4uYWYzYmU5Mzk5N2VkIDEwMDY0NA0K PiAtLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXBpYy9hcGljLmMNCj4gKysrIGIvYXJjaC94ODYva2Vy bmVsL2FwaWMvYXBpYy5jDQo+IEBAIC04NzksNiArODc5LDcgQEAgc3RhdGljIHZvaWQgbG9jYWxf YXBpY190aW1lcl9pbnRlcnJ1cHQodm9pZCkNCj4gICAgICAgICAgICAgICAgIHByX3dhcm5pbmco IlNwdXJpb3VzIExBUElDIHRpbWVyIGludGVycnVwdCBvbiBjcHUgJWRcbiIsDQo+IGNwdSk7DQo+ ICAgICAgICAgICAgICAgICAvKiBTd2l0Y2ggaXQgb2ZmICovDQo+ICAgICAgICAgICAgICAgICBs YXBpY190aW1lcl9zaHV0ZG93bihldnQpOw0KPiArICAgICAgICAgICAgIGRpc2FibGVfSU9fQVBJ QygpOw0KPiAgICAgICAgICAgICAgICAgcmV0dXJuOw0KPiAgICAgICAgIH0NCj4gDQo+IEFuZCB0 aGUgbmV3IHNvbHV0aW9uIGNhbiBmaXggdGhlIHByb2JsZW0uDQo+IFdoYXTigJhzIHlvdXIgb3Bp bmlvbiBhYm91dCBpdD8NCj4gDQo+IFRoYW5rcywNCj4gd2VpDQo+IA0KPiA+IA0KPiA+IFRoYW5r cywNCj4gPiANCj4gPiAJSW5nbw0KPiA+IA0KPiA+IA0KPiANCg0KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwprZXhlYyBtYWlsaW5nIGxpc3QKa2V4ZWNA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2tleGVjCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752167AbcGMHrF (ORCPT ); Wed, 13 Jul 2016 03:47:05 -0400 Received: from cn.fujitsu.com ([59.151.112.132]:4706 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751117AbcGMHqz (ORCPT ); Wed, 13 Jul 2016 03:46:55 -0400 X-IronPort-AV: E=Sophos;i="5.22,518,1449504000"; d="scan'208";a="8659996" From: "Wei, Jiangang" To: "mingo@kernel.org" CC: "kexec@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "tglx@linutronix.de" , "fenghua.yu@intel.com" , "ebiederm@xmission.com" , "x86@kernel.org" , "hpa@zytor.com" , "mingo@redhat.com" Subject: Re: [PATCH v2] kexec: Fix kdump failure with notsc Thread-Topic: [PATCH v2] kexec: Fix kdump failure with notsc Thread-Index: AQHR2DkmJRcl93aqHkuGcdrihkYm5qANRODQgABcAACABOZqgIAC9uiA Date: Wed, 13 Jul 2016 07:46:48 +0000 Message-ID: <1468395865.2020.10.camel@localhost> References: <1467886646-2638-1-git-send-email-weijg.fnst@cn.fujitsu.com> <87r3b5z626.fsf@x220.int.ebiederm.org> <20160708073828.GA3216@gmail.com> <1468232891.15074.45.camel@localhost> In-Reply-To: <1468232891.15074.45.camel@localhost> 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: <24654B2400953143906A45295F77040D@fujitsu.local> MIME-Version: 1.0 X-yoursite-MailScanner-ID: A73A841C0BB2.AAA79 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 u6D7lLdi001340 On Mon, 2016-07-11 at 18:28 +0800, Wei Jiangang wrote: > Hi , Ingo > > On Fri, 2016-07-08 at 09:38 +0200, Ingo Molnar wrote: > > * Eric W. Biederman wrote: > > > > > Sigh. Can we please just do the work to rip out the apic shutdown code from the > > > kexec on panic code path? > > > > > > I forgetting details but the only reason we have do any apic shutdown is bugs in > > > older kernels that could not initialize a system properly if we did not shut > > > down the apics. > > > > > > I certainly don't see an issue with goofy cases like notsc not working on a > > > crash capture kernel if we are not initializing the hardware properly. > > > > > > The strategy really needs to be to only do the absolutely essential hardware > > > shutdown in the crashing kernel, every adintional line of code we execute in the > > > crashing kernel increases our chances of hitting a bug. > > > > Fully agreed. > > > > > Under that policy things like requring we don't pass boot options that inhibit > > > the dump catpure kernel from initializing the hardware from a random state are > > > reasonable requirements. AKA I don't see any justification in this as to why we > > > would even want to support notsc on the dump capture kernel. Especially when > > > things clearly work when that option is not specified. > > > > So at least on the surface it appears 'surprising' that the 'notsc' option (which, > > supposedly, disables TSC handling) interferes with being able to fully boot. Even > > if 'notsc' is specified we are still using the local APIC, right? > > In most case, It's no problem that using local APIC while notsc is > specified. > But not for kdump. > > We can get evidence, Especially from "Spurious LAPIC timer interrupt on > cpu 0". > > ###serial log, > > [ 0.000000] NR_IRQS:524544 nr_irqs:256 16 > [ 0.000000] Spurious LAPIC timer interrupt on cpu 0 > [ 0.000000] Console: colour dummy device 80x25 > [ 0.000000] console [tty0] enabled > [ 0.000000] console [ttyS0] enabled > [ 0.000000] tsc: Fast TSC calibration using PIT > [ 0.000000] tsc: Detected 2099.947 MHz processor > [ 0.000000] Calibrating delay loop... > > > Due to the local apic and local apic timer hasn't been setup and enabled > fully, The event_handler of clock event is NULL. > > ###codes, > > static void local_apic_timer_interrupt(void) > { > int cpu = smp_processor_id(); > struct clock_event_device *evt = &per_cpu(lapic_events, cpu); > > /* > * Normally we should not be here till LAPIC has been initialized > but > * in some cases like kdump, its possible that there is a pending > LAPIC > * timer interrupt from previous kernel's context and is delivered > in > * new kernel the moment interrupts are enabled. > * > * Interrupts are enabled early and LAPIC is setup much later, hence > * its possible that when we get here evt->event_handler is NULL. > * Check for event_handler being NULL and discard the interrupt as > * spurious. > */ > if (!evt->event_handler) { > pr_warning("Spurious LAPIC timer interrupt on cpu %d\n", cpu); > /* Switch it off */ > lapic_timer_shutdown(evt); > return; > } > > ............. > } > > > IMHO, > If we specify notsc, the dump-capture kernel waits for jiffies being > updated early and LAPIC and timer are setup much later, which causes no > timer interrupts is passed to BSP. as following, > > start_kernel --> > 1)-> calibrate_delay() -> calibrate_delay_converge() # hang and wait > for jiffies changed > > 2)-> rest_init() -> kernel_init() -> .... -> apic_bsp_setup() -> > setup_local_APIC() > > -> setup_percpu_clockev(). > > the setup_percpu_clockev points setup_boot_APIC_clock() which used to > setup the boot APIC and timer. > > > > So it might be a good idea to find the root cause of this bootup fragility even if > > 'notsc' is specified. And I fully agree that it should be fixed in the bootup path > > of the dump kernel, not the crash kernel reboot path. > Can anyone give some advice or commet on the following idea? Thanks in advance. > Because the lapic and timer are not ready when dump-capture waits them > to update the jiffies value. so I suggest to put APIC in legacy mode in > local_apic_timer_interrupt() temporarily, which in the bootup path of > dump kernel. > > diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c > index dcb52850a28f..af3be93997ed 100644 > --- a/arch/x86/kernel/apic/apic.c > +++ b/arch/x86/kernel/apic/apic.c > @@ -879,6 +879,7 @@ static void local_apic_timer_interrupt(void) > pr_warning("Spurious LAPIC timer interrupt on cpu %d\n", > cpu); > /* Switch it off */ > lapic_timer_shutdown(evt); > + disable_IO_APIC(); > return; > } > > And the new solution can fix the problem. > What‘s your opinion about it? > > Thanks, > wei > > > > > Thanks, > > > > Ingo > > > > >