Browse Source

x86: disable TSC for sched_clock() when calibration failed

When the TSC calibration fails then TSC is still used in
sched_clock(). Disable it completely in that case.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@kernel.org
Thomas Gleixner 17 years ago
parent
commit
74dc51a3de
1 changed files with 5 additions and 0 deletions
  1. 5 0
      arch/x86/kernel/tsc_32.c

+ 5 - 0
arch/x86/kernel/tsc_32.c

@@ -413,6 +413,11 @@ void __init tsc_init(void)
 
 	if (!cpu_khz) {
 		mark_tsc_unstable("could not calculate TSC khz");
+		/*
+		 * We need to disable the TSC completely in this case
+		 * to prevent sched_clock() from using it.
+		 */
+		tsc_disabled = 1;
 		return;
 	}