[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 02/11] smp: drop support for deprecated (invalid topologies)
From: |
Eduardo Habkost |
Subject: |
[PULL 02/11] smp: drop support for deprecated (invalid topologies) |
Date: |
Tue, 22 Sep 2020 18:25:33 -0400 |
From: Igor Mammedov <imammedo@redhat.com>
it's was deprecated since 3.1
Support for invalid topologies is removed, the user must ensure
that topologies described with -smp include all possible cpus,
i.e. (sockets * cores * threads) == maxcpus or QEMU will
exit with error.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20200911133202.938754-1-imammedo@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
docs/system/deprecated.rst | 26 +++++++++++++-------------
hw/core/machine.c | 16 ++++------------
hw/i386/pc.c | 16 ++++------------
3 files changed, 21 insertions(+), 37 deletions(-)
diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index 808c334fe74..fb95d2ecc4f 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -47,19 +47,6 @@ The 'file' driver for drives is no longer appropriate for
character or host
devices and will only accept regular files (S_IFREG). The correct driver
for these file types is 'host_cdrom' or 'host_device' as appropriate.
-``-smp`` (invalid topologies) (since 3.1)
-'''''''''''''''''''''''''''''''''''''''''
-
-CPU topology properties should describe whole machine topology including
-possible CPUs.
-
-However, historically it was possible to start QEMU with an incorrect topology
-where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
-which could lead to an incorrect topology enumeration by the guest.
-Support for invalid topologies will be removed, the user must ensure
-topologies described with -smp include all possible cpus, i.e.
-*sockets* * *cores* * *threads* = *maxcpus*.
-
``-vnc acl`` (since 4.0.0)
''''''''''''''''''''''''''
@@ -642,6 +629,19 @@ New machine versions (since 5.1) will not accept the
option but it will still
work with old machine types. User can check the QAPI schema to see if the
legacy
option is supported by looking at MachineInfo::numa-mem-supported property.
+``-smp`` (invalid topologies) (removed 5.2)
+'''''''''''''''''''''''''''''''''''''''''''
+
+CPU topology properties should describe whole machine topology including
+possible CPUs.
+
+However, historically it was possible to start QEMU with an incorrect topology
+where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
+which could lead to an incorrect topology enumeration by the guest.
+Support for invalid topologies is removed, the user must ensure
+topologies described with -smp include all possible cpus, i.e.
+*sockets* * *cores* * *threads* = *maxcpus*.
+
Block devices
-------------
diff --git a/hw/core/machine.c b/hw/core/machine.c
index ea26d612374..09aee4ea52b 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -754,23 +754,15 @@ static void smp_parse(MachineState *ms, QemuOpts *opts)
exit(1);
}
- if (sockets * cores * threads > ms->smp.max_cpus) {
- error_report("cpu topology: "
- "sockets (%u) * cores (%u) * threads (%u) > "
- "maxcpus (%u)",
+ if (sockets * cores * threads != ms->smp.max_cpus) {
+ error_report("Invalid CPU topology: "
+ "sockets (%u) * cores (%u) * threads (%u) "
+ "!= maxcpus (%u)",
sockets, cores, threads,
ms->smp.max_cpus);
exit(1);
}
- if (sockets * cores * threads != ms->smp.max_cpus) {
- warn_report("Invalid CPU topology deprecated: "
- "sockets (%u) * cores (%u) * threads (%u) "
- "!= maxcpus (%u)",
- sockets, cores, threads,
- ms->smp.max_cpus);
- }
-
ms->smp.cpus = cpus;
ms->smp.cores = cores;
ms->smp.threads = threads;
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index b55369357e5..1e2ab5ebe79 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -746,23 +746,15 @@ void pc_smp_parse(MachineState *ms, QemuOpts *opts)
exit(1);
}
- if (sockets * dies * cores * threads > ms->smp.max_cpus) {
- error_report("cpu topology: "
- "sockets (%u) * dies (%u) * cores (%u) * threads (%u)
> "
- "maxcpus (%u)",
+ if (sockets * dies * cores * threads != ms->smp.max_cpus) {
+ error_report("Invalid CPU topology deprecated: "
+ "sockets (%u) * dies (%u) * cores (%u) * threads (%u)
"
+ "!= maxcpus (%u)",
sockets, dies, cores, threads,
ms->smp.max_cpus);
exit(1);
}
- if (sockets * dies * cores * threads != ms->smp.max_cpus) {
- warn_report("Invalid CPU topology deprecated: "
- "sockets (%u) * dies (%u) * cores (%u) * threads (%u) "
- "!= maxcpus (%u)",
- sockets, dies, cores, threads,
- ms->smp.max_cpus);
- }
-
ms->smp.cpus = cpus;
ms->smp.cores = cores;
ms->smp.threads = threads;
--
2.26.2
- [PULL 00/11] machine + QOM queue, 2020-09-22, Eduardo Habkost, 2020/09/22
- [PULL 04/11] cryptodev-backend: Register "chardev" as class property, Eduardo Habkost, 2020/09/22
- [PULL 02/11] smp: drop support for deprecated (invalid topologies),
Eduardo Habkost <=
- [PULL 03/11] cryptodev-vhost-user: Register "chardev" as class property, Eduardo Habkost, 2020/09/22
- [PULL 01/11] qom: simplify object_find_property / object_class_find_property, Eduardo Habkost, 2020/09/22
- [PULL 05/11] s390x: Register all CPU properties as class properties, Eduardo Habkost, 2020/09/22
- [PULL 07/11] xlnx-zcu102: Register properties as class properties, Eduardo Habkost, 2020/09/22
- [PULL 06/11] cpu/core: Register core-id and nr-threads as class properties, Eduardo Habkost, 2020/09/22
- [PULL 08/11] machine: Register "memory-backend" as class property, Eduardo Habkost, 2020/09/22
- [PULL 09/11] i440fx: Register i440FX-pcihost properties as class properties, Eduardo Habkost, 2020/09/22
- [PULL 10/11] sifive_e: Register "revb" as class property, Eduardo Habkost, 2020/09/22
- [PULL 11/11] sifive_u: Register "start-in-flash" as class property, Eduardo Habkost, 2020/09/22
- Re: [PULL 00/11] machine + QOM queue, 2020-09-22, Peter Maydell, 2020/09/24