Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758256AbaDBIwQ (ORCPT ); Wed, 2 Apr 2014 04:52:16 -0400 Received: from mail-vc0-f175.google.com ([209.85.220.175]:51663 "EHLO mail-vc0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758036AbaDBIwK (ORCPT ); Wed, 2 Apr 2014 04:52:10 -0400 MIME-Version: 1.0 In-Reply-To: References: From: William Dauchy Date: Wed, 2 Apr 2014 10:51:49 +0200 Message-ID: Subject: Re: [tip:x86/urgent] x86, CMCI: Add proper detection of end of CMCI storms To: "linux-kernel@vger.kernel.org" , Ingo Molnar , hpa@zytor.com, William Dauchy , "tglx@linutronix.de" , Tony , Gong Cc: linux-tip-commits@vger.kernel.org, William Dauchy Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 2, 2014 at 9:55 AM, tip-bot for Chen, Gong wrote: > Commit-ID: 27f6c573e0f77f7d1cc907c1494c99a61e48b7d8 > Gitweb: http://git.kernel.org/tip/27f6c573e0f77f7d1cc907c1494c99a61e48b7d8 > Author: Chen, Gong > AuthorDate: Thu, 27 Mar 2014 21:24:36 -0400 > Committer: Tony Luck > CommitDate: Fri, 28 Mar 2014 13:40:16 -0700 > > x86, CMCI: Add proper detection of end of CMCI storms > > When CMCI storm persists for a long time(at least beyond predefined > threshold. It's 30 seconds for now), we can watch CMCI storm is > detected immediately after it subsides. > > ... > Dec 10 22:04:29 kernel: CMCI storm detected: switching to poll mode > Dec 10 22:04:59 kernel: CMCI storm subsided: switching to interrupt mode > Dec 10 22:04:59 kernel: CMCI storm detected: switching to poll mode > Dec 10 22:05:29 kernel: CMCI storm subsided: switching to interrupt mode > ... > > The problem is that our logic that determines that the storm has > ended is incorrect. We announce the end, re-enable interrupts and > realize that the storm is still going on, so we switch back to > polling mode. Rinse, repeat. > > When a storm happens we disable signaling of errors via CMCI and begin > polling machine check banks instead. If we find any logged errors, > then we need to set a per-cpu flag so that our per-cpu tests that > check whether the storm is ongoing will see that errors are still > being logged independently of whether mce_notify_irq() says that the > error has been fully processed. > > cmci_clear() is not the right tool to disable a bank. It disables the > interrupt for the bank as desired, but it also clears the bit for > this bank in "mce_banks_owned" so we will skip the bank when polling > (so we fail to see that the storm continues because we stop looking). > New cmci_storm_disable_banks() just disables the interrupt while > allowing polling to continue. > > Reported-by: William Dauchy Could you use the following address instead? Reported-by: William Dauchy Thanks, > Signed-off-by: Chen, Gong > Signed-off-by: Tony Luck -- William -- 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/