OSDN Git Service

KVM: document memory barriers for kvm->vcpus/kvm->online_vcpus
[uclinux-h8/linux.git] / virt / kvm / kvm_main.c
index 8dc4828..d8db2f8 100644 (file)
@@ -2206,6 +2206,11 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)
        }
 
        kvm->vcpus[atomic_read(&kvm->online_vcpus)] = vcpu;
+
+       /*
+        * Pairs with smp_rmb() in kvm_get_vcpu.  Write kvm->vcpus
+        * before kvm->online_vcpu's incremented value.
+        */
        smp_wmb();
        atomic_inc(&kvm->online_vcpus);