If it's a single processor, the go backwards issue doesn't exist. Below isHi,
my patch based on Arjan's. It's against 2.6.19-rc5-mm2.
--- linux-2.6.19-rc5-mm2_arjan/arch/x86_64/kernel/setup.c 2006-11-29 10:41:21.000000000 +0800
+++ linux-2.6.19-rc5-mm2_arjan_fix/arch/x86_64/kernel/setup.c 2006-11-29 10:42:28.000000000 +0800
@@ -861,7 +861,7 @@ static void __cpuinit init_intel(struct set_bit(X86_FEATURE_CONSTANT_TSC, &c->x86_capability);
if (c->x86 == 6)
set_bit(X86_FEATURE_REP_GOOD, &c->x86_capability);
- if (c->x86 == 15)
+ if (c->x86 == 15 && num_possible_cpus() != 1)
set_bit(X86_FEATURE_SYNC_RDTSC, &c->x86_capability);