x86: read_tsc sync
authorIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:39 +0000 (13:32 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:39 +0000 (13:32 +0100)
make native_read_tsc() always non-speculative.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/rtc.c

index c42cf12..276cb70 100644 (file)
@@ -200,7 +200,10 @@ unsigned long long __vsyscall_fn native_read_tsc(void)
 {
        DECLARE_ARGS(val, low, high);
 
+       rdtsc_barrier();
        asm volatile("rdtsc" : EAX_EDX_RET(val, low, high));
+       rdtsc_barrier();
+
        return EAX_EDX_VAL(val, low, high);
 }
 EXPORT_SYMBOL_GPL(native_read_tsc);