I am trying to port the Linux 2.6.11-1 32-bit kernel to a HP server (Dual Intel XEON L5520 physical CPU). The APIC ID of each processor is 0-7 on the first physical CPU and 16-23 on the 2nd physical CPU. The boot processor's APIC ID is 16.

If I bring up more than 8 processors in smpboot.c, the kernel is deadlocked at wait_for_completion() in kernel/rcupdate.c while registering network protocol in net/ipv4/af_inet.c. If I bring up less than 9 processors (no matter these processors are from 1st or 2nd or both physical CPUs), the system work fine. Could you shed some light on this issue. Thank you very much.