diff mbox

[07/18] x86: pvclock: add note about rdtsc barriers (v2)

Message ID 20121116020542.GA16948@amt.cnet (mailing list archive)
State New, archived
Headers show

Commit Message

Marcelo Tosatti Nov. 16, 2012, 2:05 a.m. UTC
As noted by Gleb, not advertising SSE2 support implies
no RDTSC barriers.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

Index: vsyscall/arch/x86/include/asm/pvclock.h
===================================================================
--- vsyscall.orig/arch/x86/include/asm/pvclock.h
+++ vsyscall/arch/x86/include/asm/pvclock.h
@@ -74,6 +74,12 @@  unsigned __pvclock_read_cycles(const str
 	u8 ret_flags;
 
 	version = src->version;
+	/* Note: emulated platforms which do not advertise SSE2 support
+ 	 * result in kvmclock not using the necessary RDTSC barriers.
+ 	 * Without barriers, it is possible that RDTSC instruction reads from
+ 	 * the time stamp counter outside rdtsc_barrier protected section
+ 	 * below, resulting in violation of monotonicity.
+ 	 */
 	rdtsc_barrier();
 	offset = pvclock_get_nsec_offset(src);
 	ret = src->system_time + offset;