From: Igor Mammedov <imammedo@redhat.com>
To: qemu-devel@nongnu.org
Cc: lersek@redhat.com, ankur.a.arora@oracle.com, mst@redhat.com
Subject: Re: [PATCH v6 11/11] smp: drop support for deprecated (invalid topologies)
Date: Wed, 23 Sep 2020 11:55:12 +0200 [thread overview]
Message-ID: <20200923115512.1644cd94@redhat.com> (raw)
In-Reply-To: <20200923094650.1301166-12-imammedo@redhat.com>
On Wed, 23 Sep 2020 05:46:50 -0400
Igor Mammedov <imammedo@redhat.com> wrote:
> 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.
ignore this stowaway, it's not part of the series
> Signed-off-by: Igor Mammedov <imammedo@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 808c334fe7..fb95d2ecc4 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 ea26d61237..09aee4ea52 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 2af660c55e..53e21a186d 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -748,23 +748,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;
next prev parent reply other threads:[~2020-09-23 9:59 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-23 9:46 [PATCH v6 00/11] x86: fix cpu hotplug with secure boot Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 01/11] x86: lpc9: let firmware negotiate 'CPU hotplug with SMI' features Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 02/11] x86: cpuhp: prevent guest crash on CPU hotplug when broadcast SMI is in use Igor Mammedov
2020-09-23 17:16 ` Laszlo Ersek
2020-09-23 9:46 ` [PATCH v6 03/11] x86: cpuhp: refuse cpu hot-unplug request earlier if not supported Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 04/11] acpi: add aml_land() and aml_break() primitives Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 05/11] tests: acpi: mark to be changed tables in bios-tables-test-allowed-diff Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 06/11] x86: ich9: expose "smi_negotiated_features" as a QOM property Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 07/11] x86: acpi: introduce AcpiPmInfo::smi_on_cpuhp Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 08/11] x86: acpi: introduce the PCI0.SMI0 ACPI device Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 09/11] x68: acpi: trigger SMI before sending hotplug Notify event to OSPM Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 10/11] tests: acpi: update acpi blobs with new AML Igor Mammedov
2020-09-23 9:46 ` [PATCH v6 11/11] smp: drop support for deprecated (invalid topologies) Igor Mammedov
2020-09-23 9:55 ` Igor Mammedov [this message]
2020-09-23 16:44 ` [PATCH v6 00/11] x86: fix cpu hotplug with secure boot Laszlo Ersek
2020-09-24 7:12 ` Igor Mammedov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200923115512.1644cd94@redhat.com \
--to=imammedo@redhat.com \
--cc=ankur.a.arora@oracle.com \
--cc=lersek@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).