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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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? 

-Andi


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 @@
 	do
 	{
 		rep_nop(); 
+		sync_core();
 		rdtscl(now);
-	}
-	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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux