Re: [PATCH 0/3] KVM: do not use kvm->online_vcpus to check "has one VCPU been created?"

From: Cornelia Huck
Date: Mon Jun 13 2016 - 10:44:42 EST


On Mon, 13 Jun 2016 15:25:29 +0200
Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:

> kvm->online_vcpus is only updated at the very end of KVM_CREATE_VCPU.
> Thus, it can be racy to use it as a check for "has any VCPU been created
> already?". While x86 detects the race through kvm_vcpu_compatible,
> it is kinda hackish and s390 does not do anything similar. Provide a
> better fix for both.
>
> Paolo Bonzini (3):
> KVM: introduce created_vcpus
> KVM: remove kvm_vcpu_compatible
> KVM: s390: use created_vcpus
>
> arch/s390/kvm/kvm-s390.c | 10 +++++-----
> arch/x86/kvm/Kconfig | 1 -
> arch/x86/kvm/x86.c | 11 +++--------
> include/linux/kvm_host.h | 14 ++++++++------
> virt/kvm/Kconfig | 3 ---
> virt/kvm/kvm_main.c | 27 +++++++++++++++++----------
> 6 files changed, 33 insertions(+), 33 deletions(-)
>

Looks like a sane approach, only two inversions in the s390 patch :)