Tuesday 29 January 2013

Missing CPU Cores on Quad core CPU

But Nothing's Changed...

Randomly, the other day my computer began reporting only two CPU cores instead of the physical four cores it really has. Forget Hyper-threading, my CPU does not do this; they are real cores, an Intel Q6600 Quad Core CPU. But Ubuntu only displayed two CPUs.
Interestingly "dmesg" did show something unusual, 2 "hotplug CPUs". Somehow the HPET ACPI table had become corrupted (BIOS side) and flipped a few bits resulting in loss of 2 cores; 1 and 3.
Which presented as hotplug CPUs:
After trying lots of noapic, nolapic and other kernel options I decided to reset the BIOS to defaults. On some systems this really requires removing the battery but on mine it was an option in the BIOS itself, which also allowed me to set back some unrelated preferences at the same time. Now dmesg reports 4 CPUs and /proc/cpuinfo agrees.
So although nothing changed, nothing has changed from the user or software side, minor data corruption has caused this behaviour. Machines are not utterly predictable.