On Tue, 6 Jun 2023 21:49:39 -0500 Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> wrote:
> Since KVM_MAX_VCPUS is currently defined to 1024 for x86 as shown in > arch/x86/include/asm/kvm_host.h, update QEMU limits to the same number. > > In case KVM could not support the specified number of vcpus, QEMU would > return the following error message: > > qemu-system-x86_64: kvm_init_vcpu: kvm_get_vcpu failed (xxx): Invalid > argument > > Also, keep max_cpus at 288 for machine version 8.0 and older. > > Cc: Igor Mammedov <imamm...@redhat.com> > Cc: Daniel P. Berrangé <berra...@redhat.com> > Cc: Michael S. Tsirkin <m...@redhat.com> > Cc: Julia Suvorova <jus...@redhat.com> > Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> > --- > hw/i386/pc_q35.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c > index 371cca7484..63866a16e0 100644 > --- a/hw/i386/pc_q35.c > +++ b/hw/i386/pc_q35.c > @@ -360,12 +360,12 @@ static void pc_q35_machine_options(MachineClass *m) > m->default_nic = "e1000e"; > m->default_kernel_irqchip_split = false; > m->no_floppy = 1; > + m->max_cpus = 1024; > m->no_parallel = !module_object_class_by_name(TYPE_ISA_PARALLEL); > machine_class_allow_dynamic_sysbus_dev(m, TYPE_AMD_IOMMU_DEVICE); > machine_class_allow_dynamic_sysbus_dev(m, TYPE_INTEL_IOMMU_DEVICE); > machine_class_allow_dynamic_sysbus_dev(m, TYPE_RAMFB_DEVICE); > machine_class_allow_dynamic_sysbus_dev(m, TYPE_VMBUS_BRIDGE); > - m->max_cpus = 288; > } > > static void pc_q35_8_1_machine_options(MachineClass *m) > @@ -388,6 +388,7 @@ static void pc_q35_8_0_machine_options(MachineClass *m) > > /* For pc-q35-8.0 and older, use SMBIOS 2.8 by default */ > pcmc->default_smbios_ep_type = SMBIOS_ENTRY_POINT_TYPE_32; > + m->max_cpus = 288; > } > > DEFINE_Q35_MACHINE(v8_0, "pc-q35-8.0", NULL,