RE: x86_mce: mce_start uses number of phsical cores instead oflogical cores

From: Ming Lei
Date: Fri May 10 2013 - 17:58:19 EST


You are right, here is the boot information confirming this:
smpboot: Booting Node 0, Processors #1 #2 #3 #4 #5 OK
smpboot: Booting Node 1, Processors #6 #7 #8 #9 #10 #11 OK
smpboot: Booting Node 0, Processors #12 #13 #14 #15 #16 #17 OK
smpboot: Booting Node 1, Processors #18 #19 #20 #21 #22 #23 OK

So only one socket gets the machine check. So is there still a problem but the fix will be different? I think the error inject creates a real machine check, but since each CPU has its own memory controller, the machine check may only send to the CPU the error happens.

Ming


-----Original Message-----
From: Luck, Tony [mailto:tony.luck@xxxxxxxxx]
Sent: Friday, May 10, 2013 2:05 PM
To: Ming Lei; linux-kernel@xxxxxxxxxxxxxxx
Cc: mchehab@xxxxxxxxxx; bp@xxxxxxxxx
Subject: RE: x86_mce: mce_start uses number of phsical cores instead of logical cores

> I used intel edac error injector and saw the same problem. I actually
> wrote down the core numbers and I saw mce got to 0-5 and 12-17, but not the others. I have 2 sockets, 24 logical cores.

Mauro: How does the EDAC injector work on E5645 (Westmere-EP)? Does it create a real error in memory that the processor then accesses ... tripping a machine check?

The mapping of Linux logical cpu numbers to physical socket/core/thread is somewhat as the mercy of the order that the BIOS lists things in its tables. But those numbers look very much like you just saw the machine check on one socket.

Look at /proc/cpuinfo to be sure. If you run "grep ^physical /proc/cpuinfo" I think you'll see output like this (confirming that only socket 0 saw the machine check):

physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
--
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/