From: Marcelo Tosatti Date: Wed, 28 Nov 2012 01:28:49 +0000 (-0200) Subject: x86: pvclock: make sure rdtsc doesnt speculate out of region X-Git-Tag: v3.8-rc1~121^2~36 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b01578de45614c085be319229a52774b61ffe6fb;p=platform%2Fkernel%2Flinux-exynos.git x86: pvclock: make sure rdtsc doesnt speculate out of region Originally from Jeremy Fitzhardinge. pvclock_get_time_values, which contains the memory barriers will be removed by next patch. Signed-off-by: Marcelo Tosatti --- diff --git a/arch/x86/kernel/pvclock.c b/arch/x86/kernel/pvclock.c index 42eb330..12e47e2 100644 --- a/arch/x86/kernel/pvclock.c +++ b/arch/x86/kernel/pvclock.c @@ -97,10 +97,10 @@ cycle_t pvclock_clocksource_read(struct pvclock_vcpu_time_info *src) do { version = pvclock_get_time_values(&shadow, src); - barrier(); + rdtsc_barrier(); offset = pvclock_get_nsec_offset(&shadow); ret = shadow.system_timestamp + offset; - barrier(); + rdtsc_barrier(); } while (version != src->version); if ((valid_flags & PVCLOCK_TSC_STABLE_BIT) &&