From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754578AbdC1HFD (ORCPT ); Tue, 28 Mar 2017 03:05:03 -0400 Received: from terminus.zytor.com ([65.50.211.136]:51837 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754536AbdC1HFB (ORCPT ); Tue, 28 Mar 2017 03:05:01 -0400 Date: Tue, 28 Mar 2017 00:01:14 -0700 From: tip-bot for Andi Kleen Message-ID: Cc: linux-kernel@vger.kernel.org, tglx@linutronix.de, ak@linux.intel.com, hpa@zytor.com, linux-edac@vger.kernel.org, peterz@infradead.org, mingo@kernel.org, bp@suse.de, tony.luck@intel.com, torvalds@linux-foundation.org Reply-To: torvalds@linux-foundation.org, mingo@kernel.org, bp@suse.de, tony.luck@intel.com, ak@linux.intel.com, tglx@linutronix.de, hpa@zytor.com, linux-edac@vger.kernel.org, peterz@infradead.org, linux-kernel@vger.kernel.org In-Reply-To: <20170327093304.10683-2-bp@alien8.de> References: <20170327093304.10683-2-bp@alien8.de> To: linux-tip-commits@vger.kernel.org Subject: [tip:ras/core] x86/mce: Don't print MCEs when mcelog is active Git-Commit-ID: cc66afea58f858ff6da7f79b8a595a67bbb4f9a9 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: cc66afea58f858ff6da7f79b8a595a67bbb4f9a9 Gitweb: http://git.kernel.org/tip/cc66afea58f858ff6da7f79b8a595a67bbb4f9a9 Author: Andi Kleen AuthorDate: Mon, 27 Mar 2017 11:32:59 +0200 Committer: Ingo Molnar CommitDate: Tue, 28 Mar 2017 08:53:52 +0200 x86/mce: Don't print MCEs when mcelog is active Since: cd9c57cad3fe ("x86/MCE: Dump MCE to dmesg if no consumers") all MCEs are printed even when mcelog is running. Fix the regression to not print to dmesg when mcelog is running as it is a consumer too. Signed-off-by: Andi Kleen [ Massage commit message. ] Signed-off-by: Borislav Petkov Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Tony Luck Cc: linux-edac Cc: stable@vger.kernel.org # 4.10.. Fixes: cd9c57cad3fe ("x86/MCE: Dump MCE to dmesg if no consumers") Link: http://lkml.kernel.org/r/20170327093304.10683-2-bp@alien8.de Signed-off-by: Ingo Molnar Signed-off-by: Ingo Molnar --- arch/x86/kernel/cpu/mcheck/mce.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 8e9725c..5accfbd 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -54,6 +54,8 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex); +static int mce_chrdev_open_count; /* #times opened */ + #define mce_log_get_idx_check(p) \ ({ \ RCU_LOCKDEP_WARN(!rcu_read_lock_sched_held() && \ @@ -598,6 +600,10 @@ static int mce_default_notifier(struct notifier_block *nb, unsigned long val, if (atomic_read(&num_notifiers) > 2) return NOTIFY_DONE; + /* Don't print when mcelog is running */ + if (mce_chrdev_open_count > 0) + return NOTIFY_DONE; + __print_mce(m); return NOTIFY_DONE; @@ -1828,7 +1834,6 @@ void mcheck_cpu_clear(struct cpuinfo_x86 *c) */ static DEFINE_SPINLOCK(mce_chrdev_state_lock); -static int mce_chrdev_open_count; /* #times opened */ static int mce_chrdev_open_exclu; /* already open exclusive? */ static int mce_chrdev_open(struct inode *inode, struct file *file)