Re: [PATCH 1/3] KVM: introduce kvm->created_vcpus

From: Cornelia Huck
Date: Mon Jun 13 2016 - 10:43:32 EST


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

> The race between creating the irqchip and the first VCPU is
> currently fixed by checking the presence of an irqchip before
> updating kvm->online_vcpus, and undoing the whole VCPU creation
> if someone created the irqchip in the meanwhile.
>
> Instead, introduce a new field in struct kvm that will count VCPUs
> under a mutex, without the atomic access and memory ordering that we
> need elsewhere to protect the vcpus array. This also plugs the race
> and is more easily applicable in all similar circumstances.
>
> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> ---
> include/linux/kvm_host.h | 8 ++++++++
> virt/kvm/kvm_main.c | 23 +++++++++++++++++------
> 2 files changed, 25 insertions(+), 6 deletions(-)

Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>