Why /proc/cpuinfo shows different flags for cores on the same cpu?

Have you tried booting a different kernel/distribution? Perhaps it's just a kernel bug. Try a fedora LiveCD, that should be suitably different from your Ubuntu.


Looks like the second CPU has these extra flags (comments from linux-2.6.38-rc1/arch/x86/include/asm/cpufeature.h):

dtes64 - 64-bit debug store
ds_cpl - CPL Qual. Debug Store
vmx - hardware virtualization
smx - safer mode
est - enhanced speedstep
cx16 - CMPXCHG16B
xtpr - send tax priority messages
pdcm - performance capabilities
sse4_1 - sse 
xsave - XSAVE/XRSTOR/XSETBV/XGETBV
tpr_shadow - Intel TPR shadow
vnmi - Intel virtual NMI
flexpriority - Intel Flex Priority

I can draw no conclusions. A bunch of these seem to do with virtualization but that's all I can see.

Is it possible that you disabled some of these features in your bios for the second cpu? Are you passing any kernel parameters on boot that could influence the processor configuration? That's all I can think of.

This older Server Fault question about cpu flags seems relevant but not helpful.