Re: [2.6.12] x86-64 IO-APIC + timer doesn't work II + PATCH

From: Andi Kleen
Date: Sat Jun 18 2005 - 18:53:23 EST

On Sat, Jun 18, 2005 at 02:52:52PM +0100, Alistair John Strachan wrote:
> Hi,
> I upgraded my nForce3 x86-64 desktop from 2.6.12-rc5 to 2.6.12 today and
> something strange started happening. Waay back in 2.6.x I had problems with
> the "noapic" default for nForce boards on x86-64, and so used the "apic"
> kernel boot parameter to force the apic on; this worked successfully for a
> long time with no timer problems.
> However, as of 2.6.12 (maybe -rc6, too?) my desktop occasionally fails to boot
> with the message:
> "IO-APIC + timer doesn't work! Try using the 'noapic' kernel parameter."
> (arch/x86_64/kernel/io_apic.c)
> However, this message is intermittent; it is sometimes possible to boot
> without getting it, and everything works fine. So I took its advice and ran
> with noapic, and everything seems fine now.
> However, I just thought I'd let whoever maintains this bit of code know that
> the check isn't a "sure thing": it's not being flagged reliably. Whether this
> is my BIOS or the kernel, I don't know.

It's a bit of a shot into the dark, but could you test if the following
patch helps? The A64 is quite aggressive in reordering instructions and it
might be breaking __delay() and cause it to return early.

If not I would check what a failing case and a working case output for

Calibrating delay loop... 3940.35 BogoMIPS (lpj=1970176)

Does the failing kernel output something different here?


diff -u linux-2.6.12/arch/x86_64/lib/delay.c-o linux-2.6.12-rc6-git4-work/arch/x86_64/lib/delay.c
--- linux-2.6.12/arch/x86_64/lib/delay.c-o 2005-06-11 13:04:28.000000000 +0200
+++ linux-2.6.12/arch/x86_64/lib/delay.c 2005-06-19 01:49:09.000000000 +0200
@@ -27,9 +27,9 @@
+ sync_core();
- }
- while((now-bclock) < loops);
+ } while((now-bclock) < loops);

inline void __const_udelay(unsigned long xloops)
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at