Ingo Molnar 95492e4646 [PATCH] x86: rewrite SMP TSC sync code
make the TSC synchronization code more robust, and unify it between x86_64 and
i386.

The biggest change is the removal of the 'fix up TSCs' code on x86_64 and
i386, in some rare cases it was /causing/ time-warps on SMP systems.

The new code only checks for TSC asynchronity - and if it can prove a
time-warp (if it can observe the TSC going backwards when going from one CPU
to another within a critical section), then the TSC clock-source is turned
off.

The TSC synchronization-checking code also got moved into a separate file.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-16 08:13:57 -08:00
..
2005-04-16 15:20:36 -07:00
2005-06-07 12:35:43 -07:00
2005-09-07 16:57:21 -07:00
2005-04-16 15:20:36 -07:00
2006-12-08 08:28:39 -08:00
2005-04-16 15:20:36 -07:00
2006-10-03 23:01:26 +02:00
2006-01-12 09:08:51 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-06-26 10:48:16 -07:00
2006-01-18 19:20:31 -08:00
2006-12-04 02:00:22 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:10 +01:00
2006-09-26 10:52:39 +02:00
2005-04-16 15:20:36 -07:00
2006-01-11 19:04:55 -08:00
2006-01-10 08:01:34 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-02-15 15:32:22 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-12 17:41:41 -05:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:01 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-11-14 16:57:46 +01:00
2007-02-13 13:26:23 +01:00
2007-02-13 13:26:26 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-02-16 08:13:57 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:32 +02:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:28 +02:00
2005-04-16 15:20:36 -07:00
2007-02-12 09:48:39 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-01 08:59:08 -07:00
2006-09-26 10:52:26 +02:00
2006-06-29 16:58:06 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-02-16 08:13:57 -08:00
2005-04-16 15:20:36 -07:00
2007-02-16 08:13:57 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 08:39:37 -08:00
2006-12-15 08:47:51 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00