Message ID | 20210929025816.21076-1-wangyanan55@huawei.com |
---|---|
Headers | show |
Series | machine: smp parsing fixes and improvement | expand |
On 29/09/21 04:58, Yanan Wang wrote: > Hi, > > This is a new version (v12) with minor update suggested by Daniel > and Philippe. Two new commits (#1 and #16) are added. Thanks! Queued, thanks! Paolo > 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 > >
Paolo Bonzini <pbonzini@redhat.com> writes: > On 29/09/21 04:58, Yanan Wang wrote: >> Hi, >> This is a new version (v12) with minor update suggested by Daniel >> and Philippe. Two new commits (#1 and #16) are added. Thanks! > > Queued, thanks! Could you amend PATCH 16 to drop ERRP_GUARD() in machine_set_smp()?
On 29/09/21 16:46, Markus Armbruster wrote: > Paolo Bonzini <pbonzini@redhat.com> writes: > >> On 29/09/21 04:58, Yanan Wang wrote: >>> Hi, >>> This is a new version (v12) with minor update suggested by Daniel >>> and Philippe. Two new commits (#1 and #16) are added. Thanks! >> >> Queued, thanks! > > Could you amend PATCH 16 to drop ERRP_GUARD() in machine_set_smp()? > > Sure. Paolo
On 2021/9/29 22:57, Paolo Bonzini wrote: > On 29/09/21 16:46, Markus Armbruster wrote: >> Paolo Bonzini <pbonzini@redhat.com> writes: >> >>> On 29/09/21 04:58, Yanan Wang wrote: >>>> Hi, >>>> This is a new version (v12) with minor update suggested by Daniel >>>> and Philippe. Two new commits (#1 and #16) are added. Thanks! >>> >>> Queued, thanks! >> >> Could you amend PATCH 16 to drop ERRP_GUARD() in machine_set_smp()? >> >> > > Sure. > > Ah, sorry, I missed that one line. Thank you for fixing it locally. Yanan .