linux/arch
Thomas Gleixner ca1b940ce6 [PATCH] i386: trust the PM-Timer calibration of the local APIC timer
When PM-Timer is available for local APIC timer calibration we can skip the
verification of the calibrated time value.  The resulting error is quite
small on a bunch of evaluated platforms and is less harming than the
observed false positives.

We need to keep the verification on systems, which have no PM-Timer to
avoid bogus local APIC timer calibrations in the range of factor 2-10,
which can be observed when swicthing off the PM-timer support in the kernel
configuration.

The wrong calibration values are probably caused by SMM code trying to
emulate a PS/2 keyboard from a (maybe connected or not) USB keyboard.  This
prohibits the accurate delivery of PIT interrupts, which are used to
calibrate the local APIC timer.  Unfortunately we have no way to disable
this BIOS misfeature in the early boot process.

Add also the dropped cpu_relax() back to the wait loops.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-18 11:35:08 -07:00
..
alpha
arm [PATCH] gpio_direction_output() needs an initial value 2007-03-16 19:25:04 -07:00
arm26 [PATCH] arch/arm26/kernel/entry.S: remove dead code 2007-03-01 14:53:35 -08:00
avr32 [PATCH] gpio_direction_output() needs an initial value 2007-03-16 19:25:04 -07:00
cris [PATCH] fix memory leak in dma_declare_coherent_memory() 2007-03-01 14:53:39 -08:00
frv [PATCH] FRV: No ZONE_DMA 2007-03-01 14:53:36 -08:00
h8300 [PATCH] Declare init_irq_proc before we use it. 2007-02-19 14:21:50 -08:00
i386 [PATCH] i386: trust the PM-Timer calibration of the local APIC timer 2007-03-18 11:35:08 -07:00
ia64 [PATCH] Fix wrong /proc/iomem on SGI Altix 2007-03-18 11:35:07 -07:00
m32r Various typo fixes. 2007-02-17 19:07:33 +01:00
m68k [PATCH] Declare init_irq_proc before we use it. 2007-02-19 14:21:50 -08:00
m68knommu [PATCH] m68knommu: remove local_bh_count 2007-03-06 18:08:38 -08:00
mips [MIPS] Kconfig: Move missplaced NR_CPUS default from SMTC to VSMP. 2007-03-17 01:03:29 +00:00
parisc [PARISC] clocksource: Move update_cr16_clocksource later in boot 2007-02-26 22:21:22 -05:00
powerpc [PATCH] pasemi trivial iomem annotations 2007-03-14 15:27:50 -07:00
ppc mv643xx_eth: Place explicit port number in mv643xx_eth_platform_data 2007-03-06 06:14:54 -05:00
s390 [PATCH] appldata build fix 2007-03-14 15:27:48 -07:00
sh sh: Kill off I/O cruft for R7780RP. 2007-03-05 20:19:57 +09:00
sh64 [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
sparc [PATCH] sparc: nr_free_pages() is unsigned long 2007-03-14 15:27:50 -07:00
sparc64 [SPARC64]: Use Kconfig.preempt 2007-03-17 15:23:22 -07:00
um [PATCH] stacktrace doesn't work on uml 2007-03-14 15:27:49 -07:00
v850 kbuild: Replace remaining "depends" with "depends on" 2007-02-17 19:05:24 +01:00
x86_64 [PATCH] Fix atomicity of TIF update in flush_thread() for x86_64 2007-03-18 11:35:08 -07:00
xtensa