skip sync_arb_IDs on P4/Xeon
PATCH 1/1 skip sync_arb_IDs on P4/Xeon
Hi,
I recently came across an Intel statement saying that the "INIT Level deassert" IPI used by sync_arb_IDs() (arch/i386/kernel/apic.c) should not be used on P4 and Xeon which don't have APIC bus arbitration anyway.
See Intel IA32 architecture software developers manual vol. 3, 8.6.1 (p.8-23), 8.7 (p. 8.31).
The patch below skips the unsupported IPI on P4/Xeon.
The same thing should probably be done for x86_64.
Regards,
Martin
Signature · 4 lines
Martin Wilck Phone: +49 5251 8 15113 Fujitsu Siemens Computers Fax: +49 5251 8 20409 Heinz-Nixdorf-Ring 1 mailto:[email protected] D-33106 Paderborn http://www.fujitsu-siemens.com/primergy
i386/kernel/apic.c renamed from i386/kernel/apic.c.orig +3 -0
@@ -269,6 +269,9 @@ int __init verify_local_APIC(void)void __init sync_Arb_IDs (void ) { +/* Unsupported on P4 - see Intel Dev. Manual Vol. 3, Ch. 8.6.1 */ +if (boot_cpu_data.x86 ==15 ) +return ;/* * Wait for idle. */