Re: [PATCH 3/6] x86-mce: Clear CMCI enable on all claimed CMCI banks before reboot.

From: Borislav Petkov
Date: Thu Jul 10 2014 - 12:24:32 EST


On Wed, Jul 09, 2014 at 02:40:55PM -0700, Havard Skinnemoen wrote:
> On Wed, Jul 9, 2014 at 1:36 PM, Luck, Tony <tony.luck@xxxxxxxxx> wrote:
> > + if (!xchg(&reboot_notifier_registered, true))
> > + register_reboot_notifier(&cmci_reboot_notifier);
> >
> > This is super-safe ... but isn't the xchg() overkill? I thought we serialized bringup
> > of other cpus.
>
> Could be. There are spinlocks being taken elsewhere in that path
> though, and I'm not sure if I see any downside with the xchg(), unless
> this path is actually performance-critical.

Several things:

We don't need all that atomicity special fun if we register the reboot
notifier on the BSP, say from mcheck_init() which is done even pre-SMP.

If that's too early, we can add an initcall or whatever...

Also, since this is kexec-only, this all should be nicely enabled only
on KEXEC kernels. Please use the ifdeffery sparingly :-)

I'm saying that because I'm assuming BIOS will clear those MSRs upon
warm reset. If it doesn't, then we have a bigger problem.

Thanks.

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/