[1/3] Bugfix: Don't use the TSC in sched_clock if unstable

From: Guillaume Chazarain
Date: Sat Mar 03 2007 - 16:42:14 EST


http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9690982b8c2f9a2c65acdc113e758ec356676a3
caused a regression by letting sched_clock use the TSC even when cpufreq
disabled it. This caused scheduling weirdnesses.

Signed-off-by: Guillaume Chazarain <guichaz@xxxxxxxx>
---

diff -r 529142505a77 arch/i386/kernel/tsc.c
--- a/arch/i386/kernel/tsc.c Fri Mar 02 17:58:52 2007 -0800
+++ b/arch/i386/kernel/tsc.c Sat Mar 03 21:39:08 2007 +0100
@@ -108,7 +108,7 @@ unsigned long long sched_clock(void)
/*
* Fall back to jiffies if there's no TSC available:
*/
- if (unlikely(tsc_disable))
+ if (tsc_unstable || unlikely(tsc_disable))
/* No locking but a rare wrong value is not a big deal: */
return (jiffies_64 - INITIAL_JIFFIES) * (1000000000 / HZ);



--
Guillaume
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/