The system is an HP Vectra XU6/200 with dual Pentium Pro 200 MHz processors
and was running RedHat 6.1. Updated the system to 6.2 and installed the
kernel update 2.2.14-6.0.1(smp) listed on the errata pages. During bootup,
the machine hangs after the following message:
Enabling IO-APIC IRQs
...changing IO-APIC physical APIC ID to 16
Kernel Panic. could not set ID
In swapper task - not syncing
Booting into the 2.2.14-6.0.1 (single processor) works fine with no errors.
Check to see if there is a newer BIOS version for your machine. In general, the
problem is that in the latest kernel there was a requirement to start setting
the physical APIC ID to match what the BIOS MP table says the APIC ID should be
because some machines that had more than one IOAPIC were leaving them with the
same physical ID on each one which results in erroneous interrupt handling. The
MP table on your machine is telling us that the physical APIC ID is higher than
we can set it to.
The BIOS is the latest available (GG.06.13) from HP. I checked the
/proc/interrupts while running the 2.2.12-20smp kernel and noticed that all
interrupts were being handled by CPU0 and of type XT-PIC. On bootup, the IRQ
redirection table basically has all zeros. I can send you a copy of dmesg if
that will help.
Problem is currently discussed on the linux-smp mailing list @vger. Alan Cox
made a quick fix which will be tested today. Stay tuned :-]
We tested the patch provided by Alan and the machine boots,
later one we will do some make -jN on it to check how stable
it is. But I think it will run smoothly.