Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39c3b86e authored by Avi Kivity's avatar Avi Kivity
Browse files

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: default avatarAvi Kivity <avi@qumranet.com>
parent 72d6e5a0
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -379,6 +379,7 @@ struct kvm {
	struct list_head active_mmu_pages;
	struct list_head active_mmu_pages;
	int n_free_mmu_pages;
	int n_free_mmu_pages;
	struct hlist_head mmu_page_hash[KVM_NUM_MMU_PAGES];
	struct hlist_head mmu_page_hash[KVM_NUM_MMU_PAGES];
	int nvcpus;
	struct kvm_vcpu vcpus[KVM_MAX_VCPUS];
	struct kvm_vcpu vcpus[KVM_MAX_VCPUS];
	int memory_config_version;
	int memory_config_version;
	int busy;
	int busy;
+5 −0
Original line number Original line Diff line number Diff line
@@ -2391,6 +2391,11 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, int n)
	if (r < 0)
	if (r < 0)
		goto out_free_vcpus;
		goto out_free_vcpus;


	spin_lock(&kvm_lock);
	if (n >= kvm->nvcpus)
		kvm->nvcpus = n + 1;
	spin_unlock(&kvm_lock);

	return r;
	return r;


out_free_vcpus:
out_free_vcpus: