From: Andreas Herrmann <andreas.herrmann3@amd.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] x86: re-enable MCE on secondary CPUS after suspend/resume
Date: Mon, 15 Dec 2008 23:41:39 +0100 [thread overview]
Message-ID: <20081215224139.GC5620@alberich.amd.com> (raw)
In-Reply-To: <20081215223310.GX25779@one.firstfloor.org>
On Mon, Dec 15, 2008 at 11:33:10PM +0100, Andi Kleen wrote:
> > void __cpuinit mcheck_init(struct cpuinfo_x86 *c)
> > {
> > static cpumask_t mce_cpus = CPU_MASK_NONE;
> >
> > mce_cpu_quirks(c);
> >
> > if (mce_dont_init ||
> > cpu_test_and_set(smp_processor_id(), mce_cpus) ||
> > !mce_available(c))
> > => return;
> >
> > mce_init(NULL);
> > mce_cpu_features(c);
> > }
> >
> > But we need to call mce_init to clear all MCE state.
> > IMHO the best location to call mce_init for APs is the cpu notifier.
>
> Ah got it. Thanks that makes sense.
>
> But I think the better fix is to just drop the mce_cpus check and
> then handly it naturally in the standard bootup path. I'm not
> sure what it was good for anyways. I copied it into the 64bit code
> from 32bit, but I suppose even there it isn't really needed and on
> 32bit it is already gone even.
>
> How about this patch. Does it fix the problem for you too?
Yup, works as well:
Tested-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Thanks,
Andreas
> -Andi
>
> --
>
>
> Don't prevent multiple initialization of MCEs.
>
> Back from early prehistory mcheck_init() has a reentry check. Presumably
> that was needed in very old kernels to prevent it entering twice.
>
> But as Andreas points out this prevents CPU hotplug (and therefore resume)
> to correctly reinitialize MCEs when a AP boots again after being
> offlined.
>
> Just drop the check.
>
> Based on a report from Andreas Herrmann
>
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
>
> ---
> arch/x86/kernel/cpu/mcheck/mce_64.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> Index: linux/arch/x86/kernel/cpu/mcheck/mce_64.c
> ===================================================================
> --- linux.orig/arch/x86/kernel/cpu/mcheck/mce_64.c 2008-12-15 23:13:02.000000000 +0100
> +++ linux/arch/x86/kernel/cpu/mcheck/mce_64.c 2008-12-15 23:13:44.000000000 +0100
> @@ -510,12 +510,9 @@
> */
> void __cpuinit mcheck_init(struct cpuinfo_x86 *c)
> {
> - static cpumask_t mce_cpus = CPU_MASK_NONE;
> -
> mce_cpu_quirks(c);
>
> if (mce_dont_init ||
> - cpu_test_and_set(smp_processor_id(), mce_cpus) ||
> !mce_available(c))
> return;
>
>
next prev parent reply other threads:[~2008-12-15 22:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-12 18:06 [PATCH 0/2] x86: mcheck: suspend/resume bug fixes Andreas Herrmann
2008-12-12 18:08 ` [PATCH 1/2] x86: don't enable MCE after suspend/resume when system was booted with "nomce" Andreas Herrmann
2008-12-12 19:08 ` Andi Kleen
2008-12-15 18:55 ` Andreas Herrmann
2008-12-15 22:23 ` Andi Kleen
2008-12-12 18:10 ` [PATCH 2/2] x86: re-enable MCE on secondary CPUS after suspend/resume Andreas Herrmann
2008-12-12 19:06 ` Andi Kleen
2008-12-15 19:05 ` Andreas Herrmann
2008-12-15 22:33 ` Andi Kleen
2008-12-15 22:41 ` Andreas Herrmann [this message]
2008-12-16 22:03 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081215224139.GC5620@alberich.amd.com \
--to=andreas.herrmann3@amd.com \
--cc=andi@firstfloor.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox