All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] pc: q35: Bump max_cpus to 1024
@ 2023-05-31 22:51 Suravee Suthikulpanit
  2023-06-01 10:09 ` Joao Martins
  0 siblings, 1 reply; 10+ messages in thread
From: Suravee Suthikulpanit @ 2023-05-31 22:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: pbonzini, richard.henderson, eduardo, mst, marcel.apfelbaum,
	imammedo, berrange, jusual, jon.grimm, santosh.Shukla,
	Suravee Suthikulpanit

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

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
---

Changes from V1:
(https://lore.kernel.org/all/YnkDGsIi1vFvXmiP@redhat.com/T/)
 * Bump from 512 to KVM_MAX_VCPUS (per Igor's suggestion)

Note:
 From the last discussion, Daniel mentioned that SMBIO 2.1 tables might
 cause overflow at approx 720 CPUs, and it might require using the
 SMBIO 3.0 entry point. Also, we might need to change the default for
 the x86 machine type to SMBIO 3.0. However, I do not know the status
 of this.

Thank you,
Suravee

 hw/i386/pc_q35.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index f02919d92c..e7dc226bd5 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -370,7 +370,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_8_1_machine_options(MachineClass *m)
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] pc: q35: Bump max_cpus to 1024
  2023-05-31 22:51 [PATCH v2] pc: q35: Bump max_cpus to 1024 Suravee Suthikulpanit
@ 2023-06-01 10:09 ` Joao Martins
  2023-06-01 10:17   ` Daniel P. Berrangé
  0 siblings, 1 reply; 10+ messages in thread
From: Joao Martins @ 2023-06-01 10:09 UTC (permalink / raw)
  To: Suravee Suthikulpanit, qemu-devel
  Cc: pbonzini, richard.henderson, eduardo, mst, marcel.apfelbaum,
	imammedo, berrange, jusual, jon.grimm, santosh.Shukla



On 31/05/2023 23:51, Suravee Suthikulpanit 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
> 
> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
> ---
> 
> Changes from V1:
> (https://lore.kernel.org/all/YnkDGsIi1vFvXmiP@redhat.com/T/)
>  * Bump from 512 to KVM_MAX_VCPUS (per Igor's suggestion)
> 
> Note:
>  From the last discussion, Daniel mentioned that SMBIO 2.1 tables might
>  cause overflow at approx 720 CPUs, and it might require using the
>  SMBIO 3.0 entry point. Also, we might need to change the default for
>  the x86 machine type to SMBIO 3.0. However, I do not know the status
>  of this.
> 
I suspect smbios 3.0 (64-bit entry point) is already supported.

With current qemu and all the smbios fixes in the last cycle, perhaps this is
mainly just setting smbios_entry_point_type to SMBIOS_ENTRY_POINT_TYPE_64 if
MachineState::smp::max_cpus is bigger than 720 (e.g. in pc_q35_init()?)

> Thank you,
> Suravee
> 
>  hw/i386/pc_q35.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index f02919d92c..e7dc226bd5 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -370,7 +370,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_8_1_machine_options(MachineClass *m)


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] pc: q35: Bump max_cpus to 1024
  2023-06-01 10:09 ` Joao Martins
@ 2023-06-01 10:17   ` Daniel P. Berrangé
  2023-06-01 11:03     ` Gerd Hoffmann
  2023-06-01 11:09     ` Michael S. Tsirkin
  0 siblings, 2 replies; 10+ messages in thread
From: Daniel P. Berrangé @ 2023-06-01 10:17 UTC (permalink / raw)
  To: Joao Martins
  Cc: Suravee Suthikulpanit, qemu-devel, pbonzini, richard.henderson,
	eduardo, mst, marcel.apfelbaum, imammedo, jusual, jon.grimm,
	santosh.Shukla, Gerd Hoffmann

On Thu, Jun 01, 2023 at 11:09:45AM +0100, Joao Martins wrote:
> 
> 
> On 31/05/2023 23:51, Suravee Suthikulpanit 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
> > 
> > Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
> > ---
> > 
> > Changes from V1:
> > (https://lore.kernel.org/all/YnkDGsIi1vFvXmiP@redhat.com/T/)
> >  * Bump from 512 to KVM_MAX_VCPUS (per Igor's suggestion)
> > 
> > Note:
> >  From the last discussion, Daniel mentioned that SMBIO 2.1 tables might
> >  cause overflow at approx 720 CPUs, and it might require using the
> >  SMBIO 3.0 entry point. Also, we might need to change the default for
> >  the x86 machine type to SMBIO 3.0. However, I do not know the status
> >  of this.
> > 
> I suspect smbios 3.0 (64-bit entry point) is already supported.
> 
> With current qemu and all the smbios fixes in the last cycle, perhaps this is
> mainly just setting smbios_entry_point_type to SMBIOS_ENTRY_POINT_TYPE_64 if
> MachineState::smp::max_cpus is bigger than 720 (e.g. in pc_q35_init()?)

The need for the 64-bit entry point depends on a combination of RAM config
and CPU count. IMHO we need to unconditionally switch the latest machine
types to use the 64-bit entry point by default, rather than trying to infer
some special condition to dynamically change on the fly.

Before doing that we need confirmation that our firmware builds in qemu.git
(SeaBIOS and EDK2) will be happy with the 64-bit EP. I suspect they should
be fine by now, but I've CC'd Gerd to confirm.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] pc: q35: Bump max_cpus to 1024
  2023-06-01 10:17   ` Daniel P. Berrangé
@ 2023-06-01 11:03     ` Gerd Hoffmann
  2023-06-01 11:09     ` Michael S. Tsirkin
  1 sibling, 0 replies; 10+ messages in thread
From: Gerd Hoffmann @ 2023-06-01 11:03 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Joao Martins, Suravee Suthikulpanit, qemu-devel, pbonzini,
	richard.henderson, eduardo, mst, marcel.apfelbaum, imammedo,
	jusual, jon.grimm, santosh.Shukla

  Hi,

> > I suspect smbios 3.0 (64-bit entry point) is already supported.
> > 
> > With current qemu and all the smbios fixes in the last cycle, perhaps this is
> > mainly just setting smbios_entry_point_type to SMBIOS_ENTRY_POINT_TYPE_64 if
> > MachineState::smp::max_cpus is bigger than 720 (e.g. in pc_q35_init()?)
> 
> The need for the 64-bit entry point depends on a combination of RAM config
> and CPU count. IMHO we need to unconditionally switch the latest machine
> types to use the 64-bit entry point by default, rather than trying to infer
> some special condition to dynamically change on the fly.
> 
> Before doing that we need confirmation that our firmware builds in qemu.git
> (SeaBIOS and EDK2) will be happy with the 64-bit EP. I suspect they should
> be fine by now, but I've CC'd Gerd to confirm.

edk2 is ready for quite a while (years).

seabios was lagging behind for a long time, but smbios 3.0 support
finally landed early last year, in release 1.16.0 (qemu 7.0).

So, yes, firmware-wise we are ready to flip the default now.

take care,
  Gerd



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] pc: q35: Bump max_cpus to 1024
  2023-06-01 10:17   ` Daniel P. Berrangé
  2023-06-01 11:03     ` Gerd Hoffmann
@ 2023-06-01 11:09     ` Michael S. Tsirkin
  2023-06-01 21:54       ` Suthikulpanit, Suravee
  1 sibling, 1 reply; 10+ messages in thread
From: Michael S. Tsirkin @ 2023-06-01 11:09 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Joao Martins, Suravee Suthikulpanit, qemu-devel, pbonzini,
	richard.henderson, eduardo, marcel.apfelbaum, imammedo, jusual,
	jon.grimm, santosh.Shukla, Gerd Hoffmann

On Thu, Jun 01, 2023 at 11:17:30AM +0100, Daniel P. Berrangé wrote:
> On Thu, Jun 01, 2023 at 11:09:45AM +0100, Joao Martins wrote:
> > 
> > 
> > On 31/05/2023 23:51, Suravee Suthikulpanit 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
> > > 
> > > Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
> > > ---
> > > 
> > > Changes from V1:
> > > (https://lore.kernel.org/all/YnkDGsIi1vFvXmiP@redhat.com/T/)
> > >  * Bump from 512 to KVM_MAX_VCPUS (per Igor's suggestion)
> > > 
> > > Note:
> > >  From the last discussion, Daniel mentioned that SMBIO 2.1 tables might
> > >  cause overflow at approx 720 CPUs, and it might require using the
> > >  SMBIO 3.0 entry point. Also, we might need to change the default for
> > >  the x86 machine type to SMBIO 3.0. However, I do not know the status
> > >  of this.
> > > 
> > I suspect smbios 3.0 (64-bit entry point) is already supported.
> > 
> > With current qemu and all the smbios fixes in the last cycle, perhaps this is
> > mainly just setting smbios_entry_point_type to SMBIOS_ENTRY_POINT_TYPE_64 if
> > MachineState::smp::max_cpus is bigger than 720 (e.g. in pc_q35_init()?)
> 
> The need for the 64-bit entry point depends on a combination of RAM config
> and CPU count. IMHO we need to unconditionally switch the latest machine
> types to use the 64-bit entry point by default, rather than trying to infer
> some special condition to dynamically change on the fly.

Yes, makes sense.

> Before doing that we need confirmation that our firmware builds in qemu.git
> (SeaBIOS and EDK2) will be happy with the 64-bit EP. I suspect they should
> be fine by now, but I've CC'd Gerd to confirm.
> 
> With regards,
> Daniel




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] pc: q35: Bump max_cpus to 1024
  2023-06-01 11:09     ` Michael S. Tsirkin
@ 2023-06-01 21:54       ` Suthikulpanit, Suravee
  2023-06-02  8:43         ` Daniel P. Berrangé
  0 siblings, 1 reply; 10+ messages in thread
From: Suthikulpanit, Suravee @ 2023-06-01 21:54 UTC (permalink / raw)
  To: Michael S. Tsirkin, Daniel P. Berrangé
  Cc: Joao Martins, qemu-devel, pbonzini, richard.henderson, eduardo,
	marcel.apfelbaum, imammedo, jusual, jon.grimm, santosh.Shukla,
	Gerd Hoffmann



On 6/1/2023 6:09 PM, Michael S. Tsirkin wrote:
> On Thu, Jun 01, 2023 at 11:17:30AM +0100, Daniel P. Berrangé wrote:
>> On Thu, Jun 01, 2023 at 11:09:45AM +0100, Joao Martins wrote:
>>>
>>> On 31/05/2023 23:51, Suravee Suthikulpanit 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
>>>>
>>>> Signed-off-by: Suravee Suthikulpanit<suravee.suthikulpanit@amd.com>
>>>> ---
>>>>
>>>> Changes from V1:
>>>> (https://lore.kernel.org/all/YnkDGsIi1vFvXmiP@redhat.com/T/)
>>>>   * Bump from 512 to KVM_MAX_VCPUS (per Igor's suggestion)
>>>>
>>>> Note:
>>>>   From the last discussion, Daniel mentioned that SMBIO 2.1 tables might
>>>>   cause overflow at approx 720 CPUs, and it might require using the
>>>>   SMBIO 3.0 entry point. Also, we might need to change the default for
>>>>   the x86 machine type to SMBIO 3.0. However, I do not know the status
>>>>   of this.
>>>>
>>> I suspect smbios 3.0 (64-bit entry point) is already supported.
>>>
>>> With current qemu and all the smbios fixes in the last cycle, perhaps this is
>>> mainly just setting smbios_entry_point_type to SMBIOS_ENTRY_POINT_TYPE_64 if
>>> MachineState::smp::max_cpus is bigger than 720 (e.g. in pc_q35_init()?)
>> >> The need for the 64-bit entry point depends on a combination of RAM 
config
>> and CPU count. IMHO we need to unconditionally switch the latest machine
>> types to use the 64-bit entry point by default, rather than trying to infer
>> some special condition to dynamically change on the fly.
> Yes, makes sense.

Thanks all for the feedback. So, IIUC, here is how the SMBIOS entry 
point types would be affected by the QEMU options:

- pc-q35-8.1 and later, default to SMBIOS EP type 64.
- pc-q35-8.0 and older, default to SMBIOS EP type 32.
- User can override the type w/ QEMU option "-M .., 
smbios-entry-point-type=[32|64]"

Please let me know if I am missing anything. If this is accurate, I'll 
send out v3 with this change.

Thanks,
Suravee




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] pc: q35: Bump max_cpus to 1024
  2023-06-01 21:54       ` Suthikulpanit, Suravee
@ 2023-06-02  8:43         ` Daniel P. Berrangé
  0 siblings, 0 replies; 10+ messages in thread
From: Daniel P. Berrangé @ 2023-06-02  8:43 UTC (permalink / raw)
  To: Suthikulpanit, Suravee
  Cc: Michael S. Tsirkin, Joao Martins, qemu-devel, pbonzini,
	richard.henderson, eduardo, marcel.apfelbaum, imammedo, jusual,
	jon.grimm, santosh.Shukla, Gerd Hoffmann

On Thu, Jun 01, 2023 at 02:54:54PM -0700, Suthikulpanit, Suravee wrote:
> 
> 
> On 6/1/2023 6:09 PM, Michael S. Tsirkin wrote:
> > On Thu, Jun 01, 2023 at 11:17:30AM +0100, Daniel P. Berrangé wrote:
> > > On Thu, Jun 01, 2023 at 11:09:45AM +0100, Joao Martins wrote:
> > > > 
> > > > On 31/05/2023 23:51, Suravee Suthikulpanit 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
> > > > > 
> > > > > Signed-off-by: Suravee Suthikulpanit<suravee.suthikulpanit@amd.com>
> > > > > ---
> > > > > 
> > > > > Changes from V1:
> > > > > (https://lore.kernel.org/all/YnkDGsIi1vFvXmiP@redhat.com/T/)
> > > > >   * Bump from 512 to KVM_MAX_VCPUS (per Igor's suggestion)
> > > > > 
> > > > > Note:
> > > > >   From the last discussion, Daniel mentioned that SMBIO 2.1 tables might
> > > > >   cause overflow at approx 720 CPUs, and it might require using the
> > > > >   SMBIO 3.0 entry point. Also, we might need to change the default for
> > > > >   the x86 machine type to SMBIO 3.0. However, I do not know the status
> > > > >   of this.
> > > > > 
> > > > I suspect smbios 3.0 (64-bit entry point) is already supported.
> > > > 
> > > > With current qemu and all the smbios fixes in the last cycle, perhaps this is
> > > > mainly just setting smbios_entry_point_type to SMBIOS_ENTRY_POINT_TYPE_64 if
> > > > MachineState::smp::max_cpus is bigger than 720 (e.g. in pc_q35_init()?)
> > > >> The need for the 64-bit entry point depends on a combination of
> > > RAM
> config
> > > and CPU count. IMHO we need to unconditionally switch the latest machine
> > > types to use the 64-bit entry point by default, rather than trying to infer
> > > some special condition to dynamically change on the fly.
> > Yes, makes sense.
> 
> Thanks all for the feedback. So, IIUC, here is how the SMBIOS entry point
> types would be affected by the QEMU options:
> 
> - pc-q35-8.1 and later, default to SMBIOS EP type 64.
> - pc-q35-8.0 and older, default to SMBIOS EP type 32.
> - User can override the type w/ QEMU option "-M ..,
> smbios-entry-point-type=[32|64]"
> 
> Please let me know if I am missing anything. If this is accurate, I'll send
> out v3 with this change.

Yes, and for pc-i440fx* too


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] pc: q35: Bump max_cpus to 1024
  2022-11-18  8:55 Dario Faggioli
  2022-11-18  9:18 ` Daniel P. Berrangé
@ 2022-11-18  9:43 ` Gerd Hoffmann
  1 sibling, 0 replies; 10+ messages in thread
From: Gerd Hoffmann @ 2022-11-18  9:43 UTC (permalink / raw)
  To: Dario Faggioli
  Cc: qemu-devel, Paolo Bonzini, Richard Henderson, Eduardo Habkost,
	Michael S. Tsirkin, Marcel Apfelbaum

On Fri, Nov 18, 2022 at 09:55:35AM +0100, Dario Faggioli wrote:
> 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>
> ---
> Changes from v1:
> - fix actually keeping the old max value for the 7.2 machine type,
>   which was the original goal, but was done wrongly
> 
> ---
> 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"

We finally have smbios 3.0 support in both seabios and edk2, so we can
use that to avoid problems like this.  So when raising the limits for
new machine types we should also flip the smbios default to 3.0.

take care,
  Gerd



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] pc: q35: Bump max_cpus to 1024
  2022-11-18  8:55 Dario Faggioli
@ 2022-11-18  9:18 ` Daniel P. Berrangé
  2022-11-18  9:43 ` Gerd Hoffmann
  1 sibling, 0 replies; 10+ messages in thread
From: Daniel P. Berrangé @ 2022-11-18  9:18 UTC (permalink / raw)
  To: Dario Faggioli
  Cc: qemu-devel, Paolo Bonzini, Richard Henderson, Eduardo Habkost,
	Michael S. Tsirkin, Marcel Apfelbaum

On Fri, Nov 18, 2022 at 09:55:35AM +0100, Dario Faggioli wrote:
> 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>
> ---
> Changes from v1:
> - fix actually keeping the old max value for the 7.2 machine type,
>   which was the original goal, but was done wrongly
> 
> ---
> 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"

I'm suprised you got as high as 980 vCPUs. In testing real world
configs in RHEL, we hit problems in the early 700 vCPU level, as
such large vCPU counts are also going to have very large RAM sizes
and likely NUMA topology too, which IIUC expand SMBIOS usage.

> Basing on the discussion happening in that thread, I'm going straight
> to 1024, as it seems to me that it's going to be working well soon
> (especially considering that this is meant for next release, not for
> 7.2)
>
> Thanks and Regards
> ---
>  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 a496bd6e74..54804337e9 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)
> @@ -375,6 +375,7 @@ static void pc_q35_7_2_machine_options(MachineClass *m)
>      PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
>      pc_q35_machine_options(m);
>      m->alias = "q35";
> +    m->max_cpus = 288;
>      pcmc->default_cpu_version = 1;
>  }
>  
> 
> 
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2] pc: q35: Bump max_cpus to 1024
@ 2022-11-18  8:55 Dario Faggioli
  2022-11-18  9:18 ` Daniel P. Berrangé
  2022-11-18  9:43 ` Gerd Hoffmann
  0 siblings, 2 replies; 10+ messages in thread
From: Dario Faggioli @ 2022-11-18  8:55 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Richard Henderson, Eduardo Habkost,
	Michael S. Tsirkin, Marcel Apfelbaum

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>
---
Changes from v1:
- fix actually keeping the old max value for the 7.2 machine type,
  which was the original goal, but was done wrongly

---
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"

Basing on the discussion happening in that thread, I'm going straight
to 1024, as it seems to me that it's going to be working well soon
(especially considering that this is meant for next release, not for
7.2)

Thanks and Regards
---
 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 a496bd6e74..54804337e9 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)
@@ -375,6 +375,7 @@ static void pc_q35_7_2_machine_options(MachineClass *m)
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
     pc_q35_machine_options(m);
     m->alias = "q35";
+    m->max_cpus = 288;
     pcmc->default_cpu_version = 1;
 }
 




^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-06-02  8:45 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-31 22:51 [PATCH v2] pc: q35: Bump max_cpus to 1024 Suravee Suthikulpanit
2023-06-01 10:09 ` Joao Martins
2023-06-01 10:17   ` Daniel P. Berrangé
2023-06-01 11:03     ` Gerd Hoffmann
2023-06-01 11:09     ` Michael S. Tsirkin
2023-06-01 21:54       ` Suthikulpanit, Suravee
2023-06-02  8:43         ` Daniel P. Berrangé
  -- strict thread matches above, loose matches on Subject: below --
2022-11-18  8:55 Dario Faggioli
2022-11-18  9:18 ` Daniel P. Berrangé
2022-11-18  9:43 ` Gerd Hoffmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.