After some discussion with Nvidia people it turns out all Timer Overrides on Nvidia boards are wrong. They cause random failures with IO-APIC on. According to Nvidia this should also be safe for future chipsets of theirs. x86-64 already has a similar patch queued for 2.6.10pre. On i386 it is more critical however because x86-64 previously turned off the IO-APIC on these boxes. On i386 it depends on the .config
Created attachment 3806 [details] Disable timer override on Nvidia This patch adds an early pci scan that checks for this bridge and disables the timer override for any nvidia board. Code ported from x86-64. Some testing on a Nforce2 before submitting would be good.
Created attachment 3807 [details] New version of nvidia timer override workaround Previous patch was missing two files.
Patch looks good, but probably better w/o this line: + printk(KERN_INFO + "NForce bridge found, setting ACPI timer override\n"); because the BIOS may be correct and not supply an override, in which case this workaround and this line are are NOP. Plus, if we do find a bogus timer override, we already squawk about it: if (acpi_skip_timer_override && intsrc->bus_irq == 0 && intsrc->global_irq == 2) { printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n"); I'll apply this patch, sans prink, to the ACPI test tree.
Created attachment 4010 [details] cleanup patch to add to previous additional patch to delete now obsolete dmi-scan entries and also fix the build when ACPI & !IOAPIC
shipped in 2.6.10-rc3 closing.