From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752208AbbIXEuI (ORCPT ); Thu, 24 Sep 2015 00:50:08 -0400 Received: from mga01.intel.com ([192.55.52.88]:21096 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751044AbbIXEuD (ORCPT ); Thu, 24 Sep 2015 00:50:03 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,579,1437462000"; d="scan'208";a="811764588" From: Ashok Raj To: linux-kernel@vger.kernel.org Cc: Ashok Raj , Boris Petkov , linux-edac@vger.kernel.org, Tony Luck Subject: [Patch V1 2/3] x86, mce: Refactor parts of mce_log() to reuse when logging from offline CPUs Date: Thu, 24 Sep 2015 01:48:39 -0400 Message-Id: <1443073720-3940-2-git-send-email-ashok.raj@intel.com> X-Mailer: git-send-email 2.4.3 In-Reply-To: <1443073720-3940-1-git-send-email-ashok.raj@intel.com> References: <1443073720-3940-1-git-send-email-ashok.raj@intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Simply refactoring part of mce_log() to facilitate logging from offline CPUs. Signed-off-by: Ashok Raj Reviewed-by: Tony Luck --- arch/x86/kernel/cpu/mcheck/mce.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 48bd244..2df073d 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -152,16 +152,10 @@ static struct mce_log mcelog = { .recordlen = sizeof(struct mce), }; -void mce_log(struct mce *mce) +static void mce_log_add(struct mce *mce) { unsigned next, entry; - /* Emit the trace record: */ - trace_mce_record(mce); - - if (!mce_gen_pool_add(mce)) - irq_work_queue(&mce_irq_work); - mce->finished = 0; wmb(); for (;;) { @@ -199,6 +193,19 @@ void mce_log(struct mce *mce) set_bit(0, &mce_need_notify); } +void mce_log(struct mce *mce) +{ + unsigned next, entry; + + /* Emit the trace record: */ + trace_mce_record(mce); + + if (!mce_gen_pool_add(mce)) + irq_work_queue(&mce_irq_work); + + mce_log_add(mce); +} + void mce_inject_log(struct mce *m) { mutex_lock(&mce_chrdev_read_mutex); -- 2.4.3