From: Ingo Molnar <mingo@elte.hu>

this patch is to turn off the TSC-based scheduler clock on NUMA platforms.  
(ie. platforms that have unsynched TSC for sure.) Those platforms should
provide the proper code to rely on the TSC in a global way. (no such
infrastructure exists at the moment - the monotonic TSC-based clock doesnt
deal with TSC offsets either, as far as i can tell.)



 arch/i386/kernel/timers/timer_tsc.c |    6 ++++++
 1 files changed, 6 insertions(+)

diff -puN arch/i386/kernel/timers/timer_tsc.c~sched-no-tsc-on-numa arch/i386/kernel/timers/timer_tsc.c
--- 25/arch/i386/kernel/timers/timer_tsc.c~sched-no-tsc-on-numa	2003-08-30 15:41:36.000000000 -0700
+++ 25-akpm/arch/i386/kernel/timers/timer_tsc.c	2003-08-30 15:41:36.000000000 -0700
@@ -132,7 +132,13 @@ unsigned long long sched_clock(void)
 {
 	unsigned long long this_offset;
 
+	/*
+	 * In the NUMA case we dont use the TSC as they are not
+	 * synchronized across all CPUs.
+	 */
+#ifndef CONFIG_NUMA
 	if (unlikely(!cpu_has_tsc))
+#endif
 		return (unsigned long long)jiffies * (1000000000 / HZ);
 
 	/* Read the Time Stamp Counter */

_