kernel unable to use more than 2 of 16 CPUs on Intel E5540(i7)

From: Kurt Newman
Date: Thu Jun 24 2010 - 17:50:01 EST

Hash: SHA1

I'm posting here to get a bit of help to figure out this issue, or find
advice on a better mailing list or location to post this question.

The linux-smp and linux-config lists don't get many posts, while
linux-admin hasn't yielded much (perceived) help.

- ------------------------

My problem and question is:

I've tried and, but none of these compilations find
all 16 CPUs on this E5540 (2 cpus, 4 cores each, 2 HT threads each).
However, using these same custom kernels on an Intel 5130, shows all 4
"cpus" (2 cpus, 2 cores each, no HT). I've also tried older kernels
from common distros that find all 16 cpus just fine. I'm guessing they
patched in support for additional hardware.

Q: What am I doing wrong, that prevents this kernel from seeing all
CPUs? Or, could someone point me in the right direction?

- ------------------------

Relevant background information:

1) I am limited to a 32-bit OS and an older kernel because of some
software limitations.

2) While I've enabled CONFIG_HOTPLUG_CPU, I've confirmed that I'm not
passing any kernel args that would limit what is used (e.g. maxcpus=).

3) From the things I've looked at (e.g. /sys), the kernel seems to know
that there's 16 CPUs, but will only use 2.

4) I'm attaching my kernel config, dmesg output, /sys output, and
/proc/cpuinfo output to help. NOTE: I've tried using CONFIG_MCORE2 and
CONFIG_M686, neither of these changes anything.

Thank you for your time,

Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


Attachment: config-
Description: GNU Zip compressed data

Attachment: cpuinfo-
Description: GNU Zip compressed data

Attachment: dmesg-
Description: GNU Zip compressed data

Attachment: sys-devices-
Description: GNU Zip compressed data