mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-10 10:39:26 +00:00
x86: pvclock: add note about rdtsc barriers
As noted by Gleb, not advertising SSE2 support implies no RDTSC barriers. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
2697902be8
commit
189e11731a
1 changed files with 6 additions and 0 deletions
|
@ -74,6 +74,12 @@ unsigned __pvclock_read_cycles(const struct pvclock_vcpu_time_info *src,
|
|||
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;
|
||||
|
|
Loading…
Reference in a new issue