diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c index c42cf12638823a22f1195af42d2eb5553aa0e054..276cb7073ab164100af6e3c8e828490d4cd41c3f 100644 --- a/arch/x86/kernel/rtc.c +++ b/arch/x86/kernel/rtc.c @@ -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);