mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 10:44:23 +08:00
KVM: x86: remove unnecessary memory barriers for shared MSRs
There is no smp_rmb matching the smp_wmb. shared_msr_update is called from hardware_enable, which in turn is called via on_each_cpu. on_each_cpu and must imply a read memory barrier (on x86 the rmb is achieved simply through asm volatile in native_apic_mem_write). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
d71ba78834
commit
c847fe8895
@ -222,11 +222,9 @@ static void shared_msr_update(unsigned slot, u32 msr)
|
|||||||
void kvm_define_shared_msr(unsigned slot, u32 msr)
|
void kvm_define_shared_msr(unsigned slot, u32 msr)
|
||||||
{
|
{
|
||||||
BUG_ON(slot >= KVM_NR_SHARED_MSRS);
|
BUG_ON(slot >= KVM_NR_SHARED_MSRS);
|
||||||
|
shared_msrs_global.msrs[slot] = msr;
|
||||||
if (slot >= shared_msrs_global.nr)
|
if (slot >= shared_msrs_global.nr)
|
||||||
shared_msrs_global.nr = slot + 1;
|
shared_msrs_global.nr = slot + 1;
|
||||||
shared_msrs_global.msrs[slot] = msr;
|
|
||||||
/* we need ensured the shared_msr_global have been updated */
|
|
||||||
smp_wmb();
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(kvm_define_shared_msr);
|
EXPORT_SYMBOL_GPL(kvm_define_shared_msr);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user