Re: [PATCH 1/3] mce: Add a msg string to the MCE tracepoint

From: Borislav Petkov
Date: Thu Mar 01 2012 - 06:30:10 EST


On Wed, Feb 29, 2012 at 05:33:51PM +0000, Luck, Tony wrote:
> > IOW, we want to assume that cores 0, 1, 2 ... k-1 are on node 0; k, k+1
> > ... 2k-1 belong to node 1, etc., where k is the number of cores on a
> > socket and thus we have a regular core enumeration on the box.
>
> Sounds dubious:
>
> Booting Node 0, Processors #1 #2 #3 #4 #5 #6 #7 Ok.
> Booting Node 1, Processors #8 #9 #10 #11 #12 #13 #14 #15 Ok.
> Booting Node 0, Processors #16 #17 #18 #19 #20 #21 #22 #23 Ok.
> Booting Node 1, Processors #24 #25 #26 #27 #28 #29 #30 #31
> Brought up 32 CPUs
>
> Now those are logical cpu numbers, and we brought up the first HT
> thread on each core first, and then came around for a 2nd pass
> bringing up the other HT thread. This order is determined by
> how the BIOS lists the cpus (and in this case it seems to be
> doing so according to recommendations) - so here our core numbers
> will match what you said. But the BIOS could do something
> strange and list logical cpus alternating between sockets. In
> which case cores 0, 2, 4, 6 ... would be on node 0, and cores
> 1, 3, 5, 7, ... on node 1.

Ok, the example above actually confirms my fear that you won't be always
able to map back to a physical socket from the CPU number. So, we'll
need the ->socketid field which is the physical processor ID we get from
CPUID leafs.

Then, mapping back the socketid to the silkscreen labels on the boards
should be easy because on the boxes I have here, they go like this: P0,
P1, ..., where P0 is the socket containing the BSP, P1 is the second
socket etc. I'm guessing this is similar on Intel boards...?

Thanks.

--
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
--
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/