identifying CPU in mce logs

Hi all,

I’ve got small problem in identifying physical CPUs from mcelogs. Few examples go below:

CPU 1 2 bus unit TSC 3cc4400acffc6
CPU 1 4 northbridge TSC 3cc4400ad04aa
CPU 0 2 bus unit TSC 3cbaac3314c19
CPU 0 1 instruction cache TSC becaa49aee
CPU 0 4 northbridge TSC 3cc4400ad2b33
CPU 1 0 data cache TSC 3cc4400acf543

etc. While I know what all the errors mean I find bit difficult to tie them to specific cpus. So the question is - what is X and Y in CPU X Y error message? Is X simply cpu number? If yes, what is Y then? Having cpu identified makes life much easier - first is shows clearly what should be replaced in case of cache errors, second it points to smaller number of dimms in case of memory ecc errors.

The machine is dual proc dual core Opteron server, if it helps.

Want good answer, check the sources. Here goes the answer for all lost admins - in “CPU X Y” X in proc number as reported by bios and by /proc/cpuinfo, as cpuinfo takes its data from bios structures. For single-core machines it’s simple - X=0 is cpu no 1, 1 cpu no 2 etc. For every single x86_64 multi-core machine I’ve seen so far X from 0 to number of cores per proc is cpu no 1 then X = number of cores per proc+1 is the first core of cpu 2 and so on.