- kvm-qdev-Fix-set_pci_devfn-to-visit-option-only-once.patch [RHEL-43412] - kvm-tests-avocado-hotplug_blk-Fix-addr-in-device_add-com.patch [RHEL-43412] - kvm-qdev-monitor-avoid-QemuOpts-in-QMP-device_add.patch [RHEL-43412] - kvm-vl-use-qmp_device_add-in-qemu_create_cli_devices.patch [RHEL-43412] - kvm-pc-q35-Bump-max_cpus-to-4096-vcpus.patch [RHEL-57668] - kvm-vhost-fail-device-start-if-iotlb-update-fails.patch [RHEL-73005] - kvm-virtio-net-disable-USO-for-all-RHEL9.patch [RHEL-69500] - Resolves: RHEL-43412 (qom-get iothread-vq-mapping is empty on new hotplug disk [rhel-10.0-beta]) - Resolves: RHEL-57668 ([RFE] [HPEMC] [RHEL-10.0] qemu-kvm: support up to 4096 VCPUs) - Resolves: RHEL-73005 (qemu-kvm: vhost: reports error while updating IOTLB entries) - Resolves: RHEL-69500 ([Stable_Guest_ABI][USO][9.6.0-machine-type]From 10.0 to RHEL.9.6.0 the guest with 9.6 machine type only, the guest crashed with - qemu-kvm: Features 0x1c0010130afffa7 unsupported. Allowed features: 0x10179bfffe7)
73 lines
2.9 KiB
Diff
73 lines
2.9 KiB
Diff
From b270420c34cd990b1bcbe506c3fb0ef6f76d21a8 Mon Sep 17 00:00:00 2001
|
|
From: Ani Sinha <anisinha@redhat.com>
|
|
Date: Wed, 8 Jan 2025 15:10:22 +0530
|
|
Subject: [PATCH 5/7] pc: q35: Bump max_cpus to 4096 vcpus
|
|
|
|
RH-Author: Ani Sinha <anisinha@redhat.com>
|
|
RH-MergeRequest: 317: pc: q35: Bump max_cpus to 4096 vcpus
|
|
RH-Jira: RHEL-57668
|
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
RH-Commit: [1/1] 35242a1fa8fc21f7d73422d23074cd8da5f74781 (anisinha/centos-qemu-kvm)
|
|
|
|
This is the downstream change equivalent of the upstream QEMU commit
|
|
e4e98c7e ("pc: q35: Bump max_cpus to 4096 vcpus")
|
|
|
|
Since upstream Linux kernel commit
|
|
f10a570b093e6 ("KVM: x86: Add CONFIG_KVM_MAX_NR_VCPUS to allow up to 4096 vCPUs")
|
|
Linux kernel can support upto a maximum number of 4096 vcpus when MAXSMP is
|
|
enabled in the kernel. This upstream change has been backported to c9s kernel
|
|
already. Please see JIRA https://issues.redhat.com/browse/RHEL-11579 and the
|
|
following commit authored by Vitaly Kuznetsov:
|
|
a85f846be686b0a ("KVM: x86: Add CONFIG_KVM_MAX_NR_VCPUS to allow up to 4096 vCPUs")
|
|
|
|
At present, QEMU has been tested to correctly boot a linux guest with 4096
|
|
vcpus using edk2 that has the fixes corresponding to the following two upstream
|
|
edk2 PRs:
|
|
|
|
https://github.com/tianocore/edk2/pull/5410
|
|
https://github.com/tianocore/edk2/pull/5418
|
|
|
|
The changes corresponding to the above two upstream edk2 PRs has been included
|
|
in the downstream c9s edk2 with the following MR:
|
|
https://gitlab.com/redhat/centos-stream/src/edk2/-/merge_requests/59
|
|
|
|
So bump up the value max_cpus to 4096 for RHEL q35 machines versions 9.6 and
|
|
newer. Q35 RHEL machines versions 9.4 and older continue to support 710 maximum
|
|
vcpus as before for compatibility reasons.
|
|
|
|
See also
|
|
https://gitlab.com/redhat/centos-stream/src/qemu-kvm/-/merge_requests/236
|
|
https://gitlab.com/redhat/centos-stream/src/qemu-kvm/-/merge_requests/273
|
|
|
|
Signed-off-by: Ani Sinha <anisinha@redhat.com>
|
|
---
|
|
hw/i386/pc_q35.c | 5 ++++-
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
|
|
index 37f54062c8..506f9dc0c0 100644
|
|
--- a/hw/i386/pc_q35.c
|
|
+++ b/hw/i386/pc_q35.c
|
|
@@ -344,7 +344,7 @@ static void pc_q35_machine_options(MachineClass *m)
|
|
m->default_display = "std";
|
|
m->default_nic = "e1000e";
|
|
m->no_floppy = 1;
|
|
- m->max_cpus = 710;
|
|
+ m->max_cpus = 4096;
|
|
m->no_parallel = 1;
|
|
machine_class_allow_dynamic_sysbus_dev(m, TYPE_AMD_IOMMU_DEVICE);
|
|
machine_class_allow_dynamic_sysbus_dev(m, TYPE_INTEL_IOMMU_DEVICE);
|
|
@@ -698,6 +698,9 @@ static void pc_q35_rhel_machine_9_4_0_options(MachineClass *m)
|
|
{
|
|
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
|
|
pc_q35_rhel_machine_9_6_0_options(m);
|
|
+
|
|
+ /* older RHEL machines continue to support 710 vcpus */
|
|
+ m->max_cpus = 710;
|
|
m->desc = "RHEL-9.4.0 PC (Q35 + ICH9, 2009)";
|
|
pcmc->smbios_stream_product = "RHEL";
|
|
pcmc->smbios_stream_version = "9.4.0";
|
|
--
|
|
2.39.3
|
|
|