qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "wangyanan (Y)" <wangyanan55@huawei.com>
To: Eduardo Habkost <ehabkost@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	<qemu-devel@nongnu.org>, <qemu-arm@nongnu.org>,
	 <qemu-ppc@nongnu.org>, <qemu-s390x@nongnu.org>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Andrew Jones" <drjones@redhat.com>,
	"Cornelia Huck" <cohuck@redhat.com>,
	"Daniel P . Berrangé" <berrange@redhat.com>,
	"Pierre Morel" <pmorel@linux.ibm.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	"Pankaj Gupta" <pankaj.gupta.linux@gmail.com>,
	"Greg Kurz" <groug@kaod.org>,
	wanghaibin.wang@huawei.com, "Thomas Huth" <thuth@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"David Gibson" <david@gibson.dropbear.id.au>
Subject: Re: [PATCH v9 00/16] machine: smp parsing fixes and improvement
Date: Fri, 17 Sep 2021 15:28:05 +0800	[thread overview]
Message-ID: <63616770-e88a-66ab-2bce-c2afecf67d64@huawei.com> (raw)
In-Reply-To: <20210910073025.16480-1-wangyanan55@huawei.com>

ping...

Hello maintainers,
Is this series mature enough to be accepted?
Now each one patch in this version has been Reviewd/Acked.

Considering that I have another patchset on list that depends on this 
series,
and AFAIK there is another s390 patch series caring about the SMP changes
too, so I would appreciate your feedback. If there is still something to 
fix I
can do the work in time. Sorry for bothering. 😉

Thanks,
Yanan

On 2021/9/10 15:30, Yanan Wang wrote:
> Hello,
>
> This is a new version v9 rebased on latest upstream commit bd662023e6.
> There are two more patches (#6 and #7) added to optimize qtest/numa-test
> to avoid affect from -smp parsing changes. Please review.
>
> This series has been tested locally on x86_64 and aarch64 machines,
> which are available for me.
>
> Description:
> This series introduces some fixes and improvement for the SMP parsing.
>
> 1) Specifying a CPU topology parameter as zero was implicitly allowed
> but undocumented before, while now it's explicitly deprecated.
>
> 2) To keep consistency, maxcpus is now uniformly used to calculate the
> omitted topology members.
>
> 3) Improve the error reporting.
>
> 4) 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/
>
> 5) 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/
>
> 6) A unit test for the SMP parsing is added. In the test, all possible
> collections of the topology parameters and the corresponding expected
> results are listed, including the valid and invalid ones. The preference
> of sockets over cores and the preference of cores over sockets, and the
> support of dies are also taken into consideration.
>
> ---
>
> Changelogs:
>
> v8->v9:
> - rebased on latest upstream commit bd662023e6, only updated patch 01/16
>    to resolve code conflict, no change in the others.
> - added two more patches (06/16 and 07/16) to optimize qtest/numa-test.c
>    to avoid affect from -smp parsing changes.
> - v8: https://lore.kernel.org/qemu-devel/20210902110330.18036-1-wangyanan55@huawei.com/
>
> v7->v8:
> - merge patch (hw: Add compat machines for 6.2) separately
> - rebased on upstream commit 079b1252e9
> - v7: https://lore.kernel.org/qemu-devel/20210823122804.7692-1-wangyanan55@huawei.com/
>
> v6->v7:
> - drop the two docs/about clean-up patches and they have been resent separately
> - v6: https://lore.kernel.org/qemu-devel/20210819031027.41104-1-wangyanan55@huawei.com/
>
> v5->v6:
> - deprecate "parameter=0" SMP configurations (patch #1 and #2 added)
> - rebased on upstream v6.1.0-rc4
> - v5: https://lore.kernel.org/qemu-devel/20210813023912.105880-1-wangyanan55@huawei.com/
>
> v4->v5:
> - refactor out the duplicated "threads == 0" case in patch #6 (Pankaj)
> - pick up more R-b tags from v4 (thanks very much for the review!)
> - v4: https://lore.kernel.org/qemu-devel/20210803080527.156556-1-wangyanan55@huawei.com/
>
> v3->v4:
> - put all the sanity check into the parser
> - refine the unit test and add it back to the series
> - add the R-b/A-b tags for the reviewed/acked patches
> - v3: https://lore.kernel.org/qemu-devel/20210728034848.75228-1-wangyanan55@huawei.com/
>
> v2->v3:
> - apply the calculation improvement to smp_parse and pc_smp_parse
>    separately and then convert the finally improved parsers into a
>    generic one, so that patches can be reviewed separately.
> - to ease review, drop the unit test part for a while until we have
>    a good enough generic parser.
> - send the patch "machine: Disallow specifying topology parameters as zero"
>    for 6.1 separately.
> - v2: https://lore.kernel.org/qemu-devel/20210719032043.25416-1-wangyanan55@huawei.com/
>
> v1->v2:
> - disallow "anything=0" in the smp configuration (Andrew)
> - make function smp_parse() a generic helper for all arches
> - improve the error reporting in the parser
> - start to prefer cores over sockets since 6.2 (Daniel)
> - add a unit test for the smp parsing (Daniel)
> - v1: https://lore.kernel.org/qemu-devel/20210702100739.13672-1-wangyanan55@huawei.com/
>
> ---
>
> Yanan Wang (16):
>    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 CLI 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: Split out the smp parsing code
>    tests/unit: Add a unit test for smp parsing
>
>   MAINTAINERS                 |   2 +
>   docs/about/deprecated.rst   |  15 +
>   hw/arm/virt.c               |   1 +
>   hw/core/machine-smp.c       | 200 +++++++++
>   hw/core/machine.c           |  90 +---
>   hw/core/meson.build         |   1 +
>   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         |  24 +-
>   qapi/machine.json           |   2 +-
>   qemu-options.hx             |  24 +-
>   tests/qtest/numa-test.c     |   6 +-
>   tests/unit/meson.build      |   1 +
>   tests/unit/test-smp-parse.c | 866 ++++++++++++++++++++++++++++++++++++
>   17 files changed, 1134 insertions(+), 165 deletions(-)
>   create mode 100644 hw/core/machine-smp.c
>   create mode 100644 tests/unit/test-smp-parse.c
>
> --
> 2.23.0
>
> .



      parent reply	other threads:[~2021-09-17  7:29 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-10  7:30 [PATCH v9 00/16] machine: smp parsing fixes and improvement Yanan Wang
2021-09-10  7:30 ` [PATCH v9 01/16] machine: Deprecate "parameter=0" SMP configurations Yanan Wang
2021-09-10  7:30 ` [PATCH v9 02/16] machine: Minor refactor/fix for the smp parsers Yanan Wang
2021-09-10  7:30 ` [PATCH v9 03/16] machine: Uniformly use maxcpus to calculate the omitted parameters Yanan Wang
2021-09-10  7:30 ` [PATCH v9 04/16] machine: Set the value of cpus to match maxcpus if it's omitted Yanan Wang
2021-09-10  7:30 ` [PATCH v9 05/16] machine: Improve the error reporting of smp parsing Yanan Wang
2021-09-10  7:30 ` [PATCH v9 06/16] qtest/numa-test: Use detailed -smp CLIs in pc_dynamic_cpu_cfg Yanan Wang
2021-09-10  8:16   ` Andrew Jones
2021-09-10  7:30 ` [PATCH v9 07/16] qtest/numa-test: Use detailed -smp CLI in test_def_cpu_split Yanan Wang
2021-09-10  8:17   ` Andrew Jones
2021-09-17  7:33     ` wangyanan (Y)
2021-09-10  7:30 ` [PATCH v9 08/16] machine: Prefer cores over sockets in smp parsing since 6.2 Yanan Wang
2021-09-10  7:30 ` [PATCH v9 09/16] machine: Use ms instead of global current_machine in sanity-check Yanan Wang
2021-09-10  7:30 ` [PATCH v9 10/16] machine: Tweak the order of topology members in struct CpuTopology Yanan Wang
2021-09-10  7:30 ` [PATCH v9 11/16] machine: Make smp_parse generic enough for all arches Yanan Wang
2021-09-10  7:30 ` [PATCH v9 12/16] machine: Remove smp_parse callback from MachineClass Yanan Wang
2021-09-10  7:30 ` [PATCH v9 13/16] machine: Move smp_prefer_sockets to struct SMPCompatProps Yanan Wang
2021-09-10  7:30 ` [PATCH v9 14/16] machine: Put all sanity-check in the generic SMP parser Yanan Wang
2021-09-10  7:30 ` [PATCH v9 15/16] machine: Split out the smp parsing code Yanan Wang
2021-09-10  7:30 ` [PATCH v9 16/16] tests/unit: Add a unit test for smp parsing Yanan Wang
2021-09-17  7:28 ` wangyanan (Y) [this message]

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=63616770-e88a-66ab-2bce-c2afecf67d64@huawei.com \
    --to=wangyanan55@huawei.com \
    --cc=berrange@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=drjones@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=groug@kaod.org \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=pankaj.gupta.linux@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --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=thuth@redhat.com \
    --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).