summaryrefslogtreecommitdiff
path: root/drivers/kvm/kvm_main.c
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2007-06-07 19:11:53 +0300
committerAvi Kivity <avi@qumranet.com>2007-07-16 12:05:46 +0300
commit39c3b86e5c193e09f69f0e99c93600a4999ffc60 (patch)
tree94272c98789224f53d4f4f19587a08d95103f837 /drivers/kvm/kvm_main.c
parent72d6e5a08a8ba2105b3f36e32285e8fbfbed1f71 (diff)
downloadlwn-39c3b86e5c193e09f69f0e99c93600a4999ffc60.tar.gz
lwn-39c3b86e5c193e09f69f0e99c93600a4999ffc60.zip
KVM: Keep an upper bound of initialized vcpus
That way, we don't need to loop for KVM_MAX_VCPUS for a single vcpu vm. Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/kvm_main.c')
-rw-r--r--drivers/kvm/kvm_main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
index 556416962541..4e1a017f3db7 100644
--- a/drivers/kvm/kvm_main.c
+++ b/drivers/kvm/kvm_main.c
@@ -2391,6 +2391,11 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, int n)
if (r < 0)
goto out_free_vcpus;
+ spin_lock(&kvm_lock);
+ if (n >= kvm->nvcpus)
+ kvm->nvcpus = n + 1;
+ spin_unlock(&kvm_lock);
+
return r;
out_free_vcpus: