Message ID | 166869883160.17656.1212026522016331235.stgit@tumbleweed.Wayrath (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | pc: q35: Bump max_cpus to 1024 | expand |
Well... On Thu, 2022-11-17 at 16:27 +0100, Dario Faggioli wrote: > Keep the old limit of 288 for machine versions 7.2 and earlier. > ...At least, this was the idea... > --- a/hw/i386/pc_q35.c > +++ b/hw/i386/pc_q35.c > @@ -386,6 +386,7 @@ static void > pc_q35_7_1_machine_options(MachineClass *m) > PCMachineClass *pcmc = PC_MACHINE_CLASS(m); > pc_q35_7_2_machine_options(m); > m->alias = NULL; > + m->max_cpus = 288; > ...But I managed to put this in the wrong function (xxx_7_1_yyy, instead than xxx_7_2_yyyy)! :-/ Sorry about taht. I'll send a v2 (taking the feedback that I got to my other email into account). Regards
On 11/17/22 19:04, Dario Faggioli wrote: > Well... > > On Thu, 2022-11-17 at 16:27 +0100, Dario Faggioli wrote: >> Keep the old limit of 288 for machine versions 7.2 and earlier. >> > ...At least, this was the idea... > >> --- a/hw/i386/pc_q35.c >> +++ b/hw/i386/pc_q35.c >> @@ -386,6 +386,7 @@ static void >> pc_q35_7_1_machine_options(MachineClass *m) >> PCMachineClass *pcmc = PC_MACHINE_CLASS(m); >> pc_q35_7_2_machine_options(m); >> m->alias = NULL; >> + m->max_cpus = 288; >> > ...But I managed to put this in the wrong function (xxx_7_1_yyy, > instead than xxx_7_2_yyyy)! :-/ I was just about to comment on it :-) > > Sorry about taht. I'll send a v2 (taking the feedback that I got to my > other email into account). > > Regards Ciao, C
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index a496bd6e74..d2a567a71f 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -367,7 +367,7 @@ static void pc_q35_machine_options(MachineClass *m) 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; + m->max_cpus = 1024; } static void pc_q35_7_2_machine_options(MachineClass *m) @@ -386,6 +386,7 @@ static void pc_q35_7_1_machine_options(MachineClass *m) PCMachineClass *pcmc = PC_MACHINE_CLASS(m); pc_q35_7_2_machine_options(m); m->alias = NULL; + m->max_cpus = 288; pcmc->legacy_no_rng_seed = true; compat_props_add(m->compat_props, hw_compat_7_1, hw_compat_7_1_len); compat_props_add(m->compat_props, pc_compat_7_1, pc_compat_7_1_len);
Keep the old limit of 288 for machine versions 7.2 and earlier. Signed-off-by: Dario Faggioli <dfaggioli@suse.com> --- Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Richard Henderson <richard.henderson@linaro.org> Cc: Eduardo Habkost <eduardo@habkost.net> Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> --- This is related to: https://lore.kernel.org/qemu-devel/c705d0d8d6ed1a520b1ff92cb2f83fef19522d30.camel@suse.com/ With this applied to QEMU, I've been able to start a VM with as high as 980 vCPUs (even if I was on an host with 384 pCPUs, so everything was super slow!). After that, I started to see messages like this: "SMBIOS 2.1 table length 66822 exceeds 65535" Thanks and Regards --- hw/i386/pc_q35.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)