The logical numbers are bad. They should go 01 02 04 08... on a flat box.
(NUMA boxes are different.) I'll double check the code; am probably making
stupid assumptions, especially given the physical IDs below.
> cpu_2_physical_apicid[]= 02 00 01 03 FF FF FF FF FF FF FF FF FF FF FF FF FF
> FF F F FF FF FF FF FF FF FF FF FF FF FF FF FF
> I/O APIC # 0:
> 00: 00000931:04000000 00010939:02000000 00010000:00000000 00000941:0F000000
> 04: 00000949:0F000000 00000951:0F000000 00010959:02000000 00000961:0F000000
> 08: 00000969:0F000000 00000971:0F000000 00000979:0F000000 00000981:0F000000
> 0C: 00000989:0F000000 00000991:0F000000 00000999:0F000000 000009A1:0F000000
> 10: 00010000:00000000 00010000:00000000 00010000:00000000 00010000:00000000
> 14: 00010000:00000000 00010000:00000000 00010000:00000000 00010000:00000000
>
> > (Hmmm.... Must clean up this patch and submit it to kdb as two new
> > commands, one for I/O APICs and one for local APICs....)
>
> i'd vote for that =) except for one thing.
>
> + /* APICs tend to spasm when they get errors. Disable the error
> intr. */ + apic_write_around(APIC_LVTERR, ERROR_APIC_VECTOR |
> APIC_LVT_MASKED);
>
> Isn't that a bit drastic?
No. ;^)
When a local APIC weirds out and starts spewing interrupts as fast as it can
generate them, it can completely paralyze the system. I suspect that the
APIC error states aren't as well tested as I'd like. Anyway, turning off the
error interrupt is the only way to make enough forward progress to get a
clean shutdown. We had these problems with NUMA P6 boxes. Despite an APIC
bus analyzer pod on the logic analyzers, we never could find out what was
making them spasm or find any other halfway satisfactory solution, other than
to turn off the error interrupt.
> Regards,
> Zwane
-- James Cleverdon IBM xSeries Linux Solutions {jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot com- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/