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
* [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.