Re: [Patch V2] x86, mce: Ensure offline CPU's don't participate in mce rendezvous process.

From: Raj, Ashok
Date: Mon Dec 07 2015 - 17:46:52 EST


On Mon, Dec 07, 2015 at 11:34:27PM +0100, Borislav Petkov wrote:
>
> Box logs below.

Do you have the dmidecode strings to find which platform this is?

>
> BIOS is doing funny cores enumeration:
>
> node #0, CPUs 0-7
> node #1, CPUs 8-15
> node #2, CPUs 16-23
> node #3, CPUs 24-31
>
> and then starts from node 0 again:
>
> .... node #0, CPUs: #32 #33 #34 #35 #36 #37 #38 #39
> .... node #1, CPUs: #40 #41 #42 #43 #44 #45 #46 #47
> .... node #2, CPUs: #48 #49 #50 #51 #52 #53 #54 #55
> .... node #3, CPUs: #56 #57 #58 #59 #60 #61 #62 #63
>
> So I went and offlined cores 5 and 34 which are on node 0.
>
> Why node 0? Well, when I inject error type 0x10 which is
>
> 0x00000010 Memory Uncorrectable non-fatal
>
> it generates an MCE only on the node 0 cores. For that log see the end
> of this mail. The gist of it is that the CPUs on which #MC gets raised
> are the cores on node 0, i.e., 0-7 and 32-39.
>
> Cores 5 and 34 are gone, of course.
>
> I mean, even if the #MC gets raised only on the node, the fix still
> works.


Not sure how the fix works.. since we excluded only the ones offline. So
unless all online cpu's check in, the code should give you the old behavior.

What does cat /proc/interrupts | grep MCE

In a system broadcasting, all cpu counts should be the same. Since we didn't
increment the offline stats, if you were to bring the cpu up, it should be one
less than other cpus...


Cheers,
Ashok

--
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/