x86/kvm: virt_xxx memory barriers instead of mandatory barriers
virt_xxx memory barriers are implemented trivially using the low-level __smp_xxx macros, __smp_xxx is equal to a compiler barrier for strong TSO memory model, however, mandatory barriers will unconditional add memory barriers, this patch replaces the rmb() in kvm_steal_clock() by virt_rmb(). Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
This commit is contained in:
@ -396,9 +396,9 @@ static u64 kvm_steal_clock(int cpu)
|
||||
src = &per_cpu(steal_time, cpu);
|
||||
do {
|
||||
version = src->version;
|
||||
rmb();
|
||||
virt_rmb();
|
||||
steal = src->steal;
|
||||
rmb();
|
||||
virt_rmb();
|
||||
} while ((version & 1) || (version != src->version));
|
||||
|
||||
return steal;
|
||||
|
Reference in New Issue
Block a user