linux/arch/x86_64
Jack Steiner ed5316d445 [PATCH] x86-64: - Ignore long SMI interrupts in clock calibration
Ensure that no SMI interrupts occur between the read of the HPET & TSC
in the clock calibration loop.

I noticed that a 2.66GHz system incorrectly detected the processor
clock speed about 1/7 of the time:

	time.c: Detected 2660.005 MHz processor.	(most of the time)
	time.c: Detected 2988.203 MHz processor.	(sometime)

The problem is caused by an SMI interrupt occuring in hpet_calibrate_tsc()
between the read of the HPET & TSC. Prior to switching the BIOS into
ACPI mode, it appears that every 27msec an SMI interrupt occurs. The
SMI interrupt takes 4.8 msec to process.

Note: On my test system, TICK_MIN had to be >380. I picked 5000
to minimize risk of having a value that is too small for other
platforms.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Andi Kleen <ak@suse.de>

 arch/x86_64/kernel/time.c |   25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)
2007-01-11 01:52:44 +01:00
..
boot [PATCH] x86-64: shorten the x86_64 boot setup GDT to what the comment says 2006-11-14 16:57:46 +01:00
crypto [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
ia32 [PATCH] x86_64: change uses of f_{dentry, vfsmnt} to use f_path 2006-12-08 08:28:42 -08:00
kernel [PATCH] x86-64: - Ignore long SMI interrupts in clock calibration 2007-01-11 01:52:44 +01:00
lib [PATCH] x86-64: Don't force inlining of do_csum 2006-12-07 02:14:07 +01:00
mm [PATCH] x86-64: fix perms/range of vsyscall vma in /proc/*/maps 2006-12-07 02:14:09 +01:00
oprofile [PATCH] Move Kprobes and Oprofile to "Instrumentation Support" menu 2005-11-07 07:53:35 -08:00
pci Revert "[PATCH] MMCONFIG and new Intel motherboards" 2006-11-14 16:56:33 +01:00
defconfig [PATCH] x86-64: Update defconfig 2007-01-11 01:52:44 +01:00
Kconfig Revert "[PATCH] x86_64: fix boot hang caused by CALGARY_IOMMU_ENABLED_BY_DEFAULT" 2007-01-01 10:55:45 -08:00
Kconfig.debug [PATCH] lockdep: irqtrace subsystem, x86_64 support 2006-07-03 15:27:03 -07:00
Makefile Remove stack unwinder for now 2006-12-15 08:47:51 -08:00