diff options
Diffstat (limited to 'arch/x86/kernel/tsc_sync.c')
| -rw-r--r-- | arch/x86/kernel/tsc_sync.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/tsc_sync.c b/arch/x86/kernel/tsc_sync.c index 9ffb01c31c4..1c0dfbca87c 100644 --- a/arch/x86/kernel/tsc_sync.c +++ b/arch/x86/kernel/tsc_sync.c @@ -46,7 +46,9 @@ static __cpuinit void check_tsc_warp(void)  	cycles_t start, now, prev, end;  	int i; +	rdtsc_barrier();  	start = get_cycles(); +	rdtsc_barrier();  	/*  	 * The measurement runs for 20 msecs:  	 */ @@ -61,7 +63,9 @@ static __cpuinit void check_tsc_warp(void)  		 */  		__raw_spin_lock(&sync_lock);  		prev = last_tsc; +		rdtsc_barrier();  		now = get_cycles(); +		rdtsc_barrier();  		last_tsc = now;  		__raw_spin_unlock(&sync_lock);  |