From: Yanan Wang <wangyanan55@huawei.com>
To: "Eduardo Habkost" <ehabkost@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P . Berrangé" <berrange@redhat.com>,
"Andrew Jones" <drjones@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Pierre Morel <pmorel@linux.ibm.com>,
Pankaj Gupta <pankaj.gupta.linux@gmail.com>,
Cornelia Huck <cohuck@redhat.com>,
qemu-devel@nongnu.org, Yanan Wang <wangyanan55@huawei.com>,
qemu-s390x@nongnu.org, qemu-arm@nongnu.org,
"Michael S . Tsirkin" <mst@redhat.com>,
wanghaibin.wang@huawei.com, qemu-ppc@nongnu.org,
David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH v12 00/16] machine: smp parsing fixes and improvement
Date: Wed, 29 Sep 2021 10:58:00 +0800 [thread overview]
Message-ID: <20210929025816.21076-1-wangyanan55@huawei.com> (raw)
Hi,
This is a new version (v12) with minor update suggested by Daniel
and Philippe. Two new commits (#1 and #16) are added. Thanks!
Summary of v12:
1) Specifying a CPU topology parameter as zero was implicitly allowed
but undocumented before, while now it's explicitly deprecated.
2) Refactor/fixes of the smp parsers.
3) For consistency, maxcpus is now uniformly used to calculate the
omitted topology members.
4) Improve the error reporting of the parsers.
5) It's also suggested that we should start to prefer cores over sockets
over threads on the newer machine types, which will make the computed
virtual topology more reflective of the real hardware. Related discussion
can be found in [1].
[1] https://lore.kernel.org/qemu-devel/YNIgInK00yNNI4Dy@redhat.com/
6) In order to reduce code duplication and ease the code maintenance,
smp_parse() is converted into a generic enough parser for all arches,
so that the arch-specific ones (e.g. pc_smp_parse) can be removed.
It's also convenient to introduce more topology members to the generic
parser in the future. Related discussions can be found in [2] and [3].
[2] https://lore.kernel.org/qemu-devel/20210630115602.txmvmfe2jrzu7o67@gator.home/
[3] https://lore.kernel.org/qemu-devel/YPFN83pKBt7F97kW@redhat.com/
Changelogs:
v11->v12:
- add an extra commit 16/16 to make smp_parse() return a boolean (Philippe)
- split the machine.json Doc fix out into a separate patch 01/16 (Daniel)
- add R-bs for the series from Daniel and Philippe, thanks!
- v11: https://lore.kernel.org/qemu-devel/20210928035755.11684-1-wangyanan55@huawei.com/
v10->v11:
- only update patch 11/14
use GString APIs to build the cpu topology hierarchy string (Daniel)
refine the comments of smp_parse()
- v10: https://lore.kernel.org/qemu-devel/20210926084541.17352-1-wangyanan55@huawei.com/
v9->v10:
- rebased on latest upstream commit 11a1199846.
there is no change of the patches in v10, except minor update
in 08/14 to resolve merge conflict with master.
- To make this series more acceptable, drop the last two patches
about SMP unit test, since the scalability of the test is not
optimally designed after rethinking of it. So I will resend the
test related patches separately after refining them.
- v9: https://lore.kernel.org/qemu-devel/20210910073025.16480-1-wangyanan55@huawei.com/
Yanan Wang (16):
qapi/machine: Fix an incorrect comment of SMPConfiguration
machine: Deprecate "parameter=0" SMP configurations
machine: Minor refactor/fix for the smp parsers
machine: Uniformly use maxcpus to calculate the omitted parameters
machine: Set the value of cpus to match maxcpus if it's omitted
machine: Improve the error reporting of smp parsing
qtest/numa-test: Use detailed -smp CLIs in pc_dynamic_cpu_cfg
qtest/numa-test: Use detailed -smp CLIs in test_def_cpu_split
machine: Prefer cores over sockets in smp parsing since 6.2
machine: Use ms instead of global current_machine in sanity-check
machine: Tweak the order of topology members in struct CpuTopology
machine: Make smp_parse generic enough for all arches
machine: Remove smp_parse callback from MachineClass
machine: Move smp_prefer_sockets to struct SMPCompatProps
machine: Put all sanity-check in the generic SMP parser
machine: Make smp_parse return a boolean
docs/about/deprecated.rst | 15 +++
hw/arm/virt.c | 1 +
hw/core/machine.c | 206 ++++++++++++++++++++++++++-----------
hw/i386/pc.c | 63 +-----------
hw/i386/pc_piix.c | 1 +
hw/i386/pc_q35.c | 1 +
hw/ppc/spapr.c | 1 +
hw/s390x/s390-virtio-ccw.c | 1 +
include/hw/boards.h | 23 +++--
qapi/machine.json | 2 +-
qemu-options.hx | 24 +++--
tests/qtest/numa-test.c | 6 +-
12 files changed, 201 insertions(+), 143 deletions(-)
--
2.19.1
next reply other threads:[~2021-09-29 3:04 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-29 2:58 Yanan Wang [this message]
2021-09-29 2:58 ` [PATCH v12 01/16] qapi/machine: Fix an incorrect comment of SMPConfiguration Yanan Wang
2021-09-29 2:58 ` [PATCH v12 02/16] machine: Deprecate "parameter=0" SMP configurations Yanan Wang
2021-09-29 2:58 ` [PATCH v12 03/16] machine: Minor refactor/fix for the smp parsers Yanan Wang
2021-09-29 2:58 ` [PATCH v12 04/16] machine: Uniformly use maxcpus to calculate the omitted parameters Yanan Wang
2021-09-29 2:58 ` [PATCH v12 05/16] machine: Set the value of cpus to match maxcpus if it's omitted Yanan Wang
2021-09-29 2:58 ` [PATCH v12 06/16] machine: Improve the error reporting of smp parsing Yanan Wang
2021-09-29 2:58 ` [PATCH v12 07/16] qtest/numa-test: Use detailed -smp CLIs in pc_dynamic_cpu_cfg Yanan Wang
2021-09-29 2:58 ` [PATCH v12 08/16] qtest/numa-test: Use detailed -smp CLIs in test_def_cpu_split Yanan Wang
2021-09-29 2:58 ` [PATCH v12 09/16] machine: Prefer cores over sockets in smp parsing since 6.2 Yanan Wang
2021-09-29 2:58 ` [PATCH v12 10/16] machine: Use ms instead of global current_machine in sanity-check Yanan Wang
2021-09-29 2:58 ` [PATCH v12 11/16] machine: Tweak the order of topology members in struct CpuTopology Yanan Wang
2021-09-29 2:58 ` [PATCH v12 12/16] machine: Make smp_parse generic enough for all arches Yanan Wang
2021-09-29 2:58 ` [PATCH v12 13/16] machine: Remove smp_parse callback from MachineClass Yanan Wang
2021-09-29 2:58 ` [PATCH v12 14/16] machine: Move smp_prefer_sockets to struct SMPCompatProps Yanan Wang
2021-09-29 2:58 ` [PATCH v12 15/16] machine: Put all sanity-check in the generic SMP parser Yanan Wang
2021-09-29 2:58 ` [PATCH v12 16/16] machine: Make smp_parse return a boolean Yanan Wang
2021-09-29 8:27 ` Philippe Mathieu-Daudé
2021-09-29 8:28 ` Daniel P. Berrangé
2021-09-29 11:22 ` Markus Armbruster
2021-10-01 17:08 ` Paolo Bonzini
2021-10-01 17:15 ` Daniel P. Berrangé
2021-10-02 5:26 ` Markus Armbruster
2021-10-02 6:40 ` Paolo Bonzini
2021-10-02 11:27 ` Markus Armbruster
2021-10-07 3:44 ` wangyanan (Y)
2021-10-07 8:30 ` Paolo Bonzini
2021-10-07 8:29 ` Paolo Bonzini
2021-10-07 12:03 ` Markus Armbruster
2021-09-29 12:39 ` [PATCH v12 00/16] machine: smp parsing fixes and improvement Paolo Bonzini
2021-09-29 14:46 ` Markus Armbruster
2021-09-29 14:57 ` Paolo Bonzini
2021-09-30 1:02 ` wangyanan (Y)
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=20210929025816.21076-1-wangyanan55@huawei.com \
--to=wangyanan55@huawei.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=cohuck@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=drjones@redhat.com \
--cc=ehabkost@redhat.com \
--cc=mst@redhat.com \
--cc=pankaj.gupta.linux@gmail.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--cc=pmorel@linux.ibm.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=wanghaibin.wang@huawei.com \
/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).