Re: X86_64: Many Lost ticks

From: Chuck Ebbert
Date: Fri Nov 19 2004 - 03:23:42 EST


On Thu, 18 Nov 2004 at 19:50:32 +0100, Andi Kleen wrote:

> On Thu, Nov 18, 2004 at 05:10:17PM +0000, Alan Cox wrote:
>
> > Ok ACPI timer override probably goes back into the broken bucket and out
> > of -ac in -ac11 then.
>
> The timer override should be fine (I have confirmation from Nvidia
> about this). The only thing that you can take out if you're conservative
> is the change to not disable the IOAPIC by default when Nvidia
> is detected (in check_ioapic())


I did that long ago; the below patch is dated Oct 28 on my fileserver.

Alan could save himself some work if we shared patches... I already
backported even more of the networking stuff to 2.6.9 than he did.

# ioapic_on_nvidia_boards.patch
#
# Originally suggested by Zwane Mwaikumbo
#
# Ignore all ACPI timer overrides on all Nvidia boards. The fallback doesn't
# work and no Nvidia boards needs a timer override. But some buggy BIOS have
# it anyways.
#
# Thanks to Andy Currid for confirming this.
#
# Original patch enabled the IO-APIC.
# Enable of IO-APIC removed by Chuck Ebbert <76306.1226@xxxxxxxxxxxxxx>
#
# Signed-off-by: Andi Kleen <ak@xxxxxxx>
# Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
# Signed-off-by: Chuck Ebbert <76306.1226@xxxxxxxxxxxxxx>
#
--- 2.6.9/arch/x86_64/kernel/io_apic.c
+++ 2.6.9.1/arch/x86_64/kernel/io_apic.c
@@ -271,6 +271,14 @@ void __init check_ioapic(void)
num,slot,vendor);
skip_ioapic_setup = 1;
#endif
+#ifdef CONFIG_ACPI
+ /* All timer overrides on Nvidia
+ seem to be wrong. Skip them. */
+ printk(KERN_INFO
+ "Nvidia board detected. Ignoring ACPI timer override.\n");
+ acpi_skip_timer_override = 1;
+ /* RED-PEN skip them on mptables too? */
+#endif
return;
}

--- 2.6.9/include/asm-x86_64/acpi.h
+++ 2.6.9.1/include/asm-x86_64/acpi.h
@@ -166,6 +166,8 @@ extern int acpi_pci_disabled;

extern u8 x86_acpiid_to_apicid[];

+extern int acpi_skip_timer_override;
+
#endif /*__KERNEL__*/

#endif /*_ASM_ACPI_H*/

--Chuck Ebbert 19-Nov-04 03:19:18
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/