Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753076AbbBYAzo (ORCPT ); Tue, 24 Feb 2015 19:55:44 -0500 Received: from TYO202.gate.nec.co.jp ([210.143.35.52]:35146 "EHLO tyo202.gate.nec.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752420AbbBYAzm convert rfc822-to-8bit (ORCPT ); Tue, 24 Feb 2015 19:55:42 -0500 From: Naoya Horiguchi To: Borislav Petkov CC: Naoya Horiguchi , Tony Luck , Vivek Goyal , "linux-kernel@vger.kernel.org" , Junichi Nomura , Kiyoshi Ueda Subject: Re: [PATCH 1/2] x86: mce: kdump: use under_crashdumping to turn off MCE in all CPUs together Thread-Topic: [PATCH 1/2] x86: mce: kdump: use under_crashdumping to turn off MCE in all CPUs together Thread-Index: AQHQT0jZuvMOBL1AfkmyeYjgPGZ0iZz9YH2AgAA71wCAAA/kAIAAHKKAgAAX8oCAAP3NgIAAHDcAgAD7EoA= Date: Wed, 25 Feb 2015 00:54:53 +0000 Message-ID: <20150225005453.GA28870@hori1.linux.bs1.fc.nec.co.jp> References: <1424682719-16493-1-git-send-email-n-horiguchi@ah.jp.nec.com> <20150223092739.GA22757@pd.tnic> <54EB24BE.5050006@gmail.com> <20150223135842.GA22753@pd.tnic> <54EB4A17.6020800@gmail.com> <20150223170653.GA16699@pd.tnic> <20150224081517.GB2918@hori1.linux.bs1.fc.nec.co.jp> <20150224095616.GB3420@pd.tnic> In-Reply-To: <20150224095616.GB3420@pd.tnic> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.128.101.4] Content-Type: text/plain; charset="iso-2022-jp" Content-ID: Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1969 Lines: 36 On Tue, Feb 24, 2015 at 10:56:16AM +0100, Borislav Petkov wrote: > On Tue, Feb 24, 2015 at 08:15:35AM +0000, Naoya Horiguchi wrote: > > Let me update my explanation about the problem. I wrote the description about > > race window of nmi shoot down threads. That's not wrong, but that's only the > > part of the problem. The more suitable description is that all "shot down" > > CPUs keep MCE enabled (disable_local_APIC() doesn't stop it) after entering > > infinite loop of cpu_relax(), so any MCE event causes kernel panic due to > > synchronization timeout whenever after the 2nd kernel launches on the crashing > > CPU (where the CPU don't run do_machine_check(), but the other CPUs do). > > Ok, now we're getting closer. > > So, I'm thinking you want to disable MCA on all cores going offline > as part of the work done in crash_nmi_callback(). And off the top > of my head, it should be something what mcheck_cpu_init() and > __mcheck_cpu_init_generic() in particular does but in reverse. > > I'd even venture a guess and say that clearing CR4.MCE should be enough > but I *think* that doesn't prevent errors from being logged. Just to be > extra sure, you should clear MCG_CTL bits too. It all depends on what > exactly you want to do. Comparing with setting tolerant to 3, clearing CR4.MCE and MCG_CTL has one benefit that we can also disable reporting to userspace. do_machine_check() calls mce_report_event() which makes the mcelog process read the log from /dev/mcelog and write it to storage even when tolerant == 3, but we can't expect that works correctly under kdump context. So keeping log data on /dev/mcelog buffer and letting them included in the crashdump looks better to me. Thanks, Naoya Horiguchi-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/