I have access to two NUMA servers. One of them is Dell R720 and has these CPUs:
$ cat /proc/cpuinfo |grep Xeon|sort|uniq -c
24 model name : Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz
The other is a HPE DL360 Gen8 and has these CPUs:
$ cat /proc/cpuinfo |grep Xeon|sort|uniq -c
24 model name : Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz
At work where we have many HPE Gen9 servers, I have been used to CPU numbering (socket0, socket1, socket0 HyperThreads, socket1 HyperThreads). It seems the HPE DL360 Gen8 uses this numbering:
$ cat /proc/cpuinfo |grep physical.id|uniq -c
6 physical id : 0
6 physical id : 1
6 physical id : 0
6 physical id : 1
But the Dell R720 server uses different numbering:
$ cat /proc/cpuinfo |grep physical.id|uniq -c
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
My question is, what causes this difference? The servers have two slightly different kernel versions:
Dell R720:
$ uname -a
Linux dell 4.10.0-33-generic #37~16.04.1-Ubuntu SMP Fri Aug 11 14:07:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
HPE DL360 Gen8:
$ uname -a
Linux hpe 4.11.0-14-generic #20~16.04.1-Ubuntu SMP Wed Aug 9 09:06:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Is this caused by different kernel versions? Or by different CPUs? Or by different motherboards / BIOSes?
Edit: I updated the kernels on both machines and rebooted, so now both machines use exactly the same kernel version. Nevertheless, the difference is still there.