Skip to content

Commit da1bfd5

Browse files
vittyvkbonzini
authored andcommitted
KVM: x86: Drop arbitrary KVM_SOFT_MAX_VCPUS
KVM_CAP_NR_VCPUS is used to get the "recommended" maximum number of VCPUs and arm64/mips/riscv report num_online_cpus(). Powerpc reports either num_online_cpus() or num_present_cpus(), s390 has multiple constants depending on hardware features. On x86, KVM reports an arbitrary value of '710' which is supposed to be the maximum tested value but it's possible to test all KVM_MAX_VCPUS even when there are less physical CPUs available. Drop the arbitrary '710' value and return num_online_cpus() on x86 as well. The recommendation will match other architectures and will mean 'no CPU overcommit'. For reference, QEMU only queries KVM_CAP_NR_VCPUS to print a warning when the requested vCPU number exceeds it. The static limit of '710' is quite weird as smaller systems with just a few physical CPUs should certainly "recommend" less. Suggested-by: Eduardo Habkost <[email protected]> Signed-off-by: Vitaly Kuznetsov <[email protected]> Message-Id: <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
1 parent 796c83c commit da1bfd5

File tree

2 files changed

+1
-2
lines changed

2 files changed

+1
-2
lines changed

arch/x86/include/asm/kvm_host.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
#define __KVM_HAVE_ARCH_VCPU_DEBUGFS
3939

4040
#define KVM_MAX_VCPUS 1024
41-
#define KVM_SOFT_MAX_VCPUS 710
4241

4342
/*
4443
* In x86, the VCPU ID corresponds to the APIC ID, and APIC IDs

arch/x86/kvm/x86.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4176,7 +4176,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
41764176
r = !static_call(kvm_x86_cpu_has_accelerated_tpr)();
41774177
break;
41784178
case KVM_CAP_NR_VCPUS:
4179-
r = KVM_SOFT_MAX_VCPUS;
4179+
r = num_online_cpus();
41804180
break;
41814181
case KVM_CAP_MAX_VCPUS:
41824182
r = KVM_MAX_VCPUS;

0 commit comments

Comments
 (0)