• Vitaly Kuznetsov's avatar
    KVM: x86: Drop arbitrary KVM_SOFT_MAX_VCPUS · da1bfd52
    Vitaly Kuznetsov authored
    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: default avatarEduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
    Message-Id: <20211111134733.86601-1-vkuznets@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    da1bfd52
x86.c 332 KB