diff options
| author | Jack Steiner <[email protected]> | 2007-01-11 01:52:44 +0100 |
|---|---|---|
| committer | Andi Kleen <[email protected]> | 2007-01-11 01:52:44 +0100 |
| commit | ed5316d4457b35c7b4942af028d6b878174264f7 (patch) | |
| tree | ebaa1e04b31be2ae81d18411fa8ff41a2ed817f5 /include/linux/debugobjects.h | |
| parent | 9d24a81e84cee7cbf4656d178842838ac5ab23a4 (diff) | |
[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 <[email protected]>
Signed-off-by: Andi Kleen <[email protected]>
arch/x86_64/kernel/time.c | 25 +++++++++++++++++++++----
1 file changed, 21 insertions(+), 4 deletions(-)
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions