95492e4646
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>
26 lines
537 B
C
26 lines
537 B
C
/*
|
|
* linux/include/asm-x86_64/timex.h
|
|
*
|
|
* x86-64 architecture timex specifications
|
|
*/
|
|
#ifndef _ASMx8664_TIMEX_H
|
|
#define _ASMx8664_TIMEX_H
|
|
|
|
#include <asm/8253pit.h>
|
|
#include <asm/msr.h>
|
|
#include <asm/vsyscall.h>
|
|
#include <asm/hpet.h>
|
|
#include <asm/system.h>
|
|
#include <asm/processor.h>
|
|
#include <asm/tsc.h>
|
|
#include <linux/compiler.h>
|
|
|
|
#define CLOCK_TICK_RATE PIT_TICK_RATE /* Underlying HZ */
|
|
|
|
extern int read_current_timer(unsigned long *timer_value);
|
|
#define ARCH_HAS_READ_CURRENT_TIMER 1
|
|
|
|
extern struct vxtime_data vxtime;
|
|
|
|
#endif
|