All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-6.2 v3 00/11] machine: smp parsing fixes and improvement
@ 2021-07-28  3:48 Yanan Wang
  2021-07-28  3:48 ` [PATCH for-6.2 v3 01/11] machine: Minor refactor/cleanup for the smp parsers Yanan Wang
                   ` (10 more replies)
  0 siblings, 11 replies; 26+ messages in thread
From: Yanan Wang @ 2021-07-28  3:48 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Andrew Jones, Cornelia Huck,
	Daniel P . Berrangé,
	Eduardo Habkost, Pierre Morel, Michael S . Tsirkin, Pankaj Gupta,
	Richard Henderson, Greg Kurz, Halil Pasic, wanghaibin.wang,
	Thomas Huth, Paolo Bonzini, Yanan Wang, David Gibson

Hi,

This is new version of the series [1] that I have posted to introduce
some fixes and improvement for SMP parsing.

[1] https://lore.kernel.org/qemu-devel/20210719032043.25416-1-wangyanan55@huawei.com/

Most of this series is about the SMP parsers:
maxcpus is now uniformly used to calculate the omitted topology members,
calculation of omitted maxcpus/cpus is improved, the error reporting is
improved. 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.

In order to reduce code duplication and ease the code maintenance, smp_parse
in now converted into a parser generic enough for all arches, so that the PC
specific one can be removed. It's also convenient to introduce more topology
members to the generic parser in the future.

---

Changelogs:

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://lists.gnu.org/archive/html/qemu-devel/2021-07/msg00259.html

---

Yanan Wang (11):
  machine: Minor refactor/cleanup 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
  hw: Add compat machines for 6.2
  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

 hw/arm/virt.c              |  10 ++-
 hw/core/machine.c          | 168 ++++++++++++++++++++++++++++---------
 hw/i386/pc.c               |  66 +--------------
 hw/i386/pc_piix.c          |  15 +++-
 hw/i386/pc_q35.c           |  14 +++-
 hw/ppc/spapr.c             |  16 +++-
 hw/s390x/s390-virtio-ccw.c |  15 +++-
 include/hw/boards.h        |  26 ++++--
 include/hw/i386/pc.h       |   3 +
 qemu-options.hx            |  14 +++-
 10 files changed, 228 insertions(+), 119 deletions(-)

--
2.19.1



^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2021-07-29  9:14 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-28  3:48 [PATCH for-6.2 v3 00/11] machine: smp parsing fixes and improvement Yanan Wang
2021-07-28  3:48 ` [PATCH for-6.2 v3 01/11] machine: Minor refactor/cleanup for the smp parsers Yanan Wang
2021-07-28 20:16   ` Andrew Jones
2021-07-29  6:24     ` wangyanan (Y)
2021-07-28  3:48 ` [PATCH for-6.2 v3 02/11] machine: Uniformly use maxcpus to calculate the omitted parameters Yanan Wang
2021-07-28  3:48 ` [PATCH for-6.2 v3 03/11] machine: Set the value of cpus to match maxcpus if it's omitted Yanan Wang
2021-07-28 20:22   ` Andrew Jones
2021-07-29  6:30     ` wangyanan (Y)
2021-07-28  3:48 ` [PATCH for-6.2 v3 04/11] machine: Improve the error reporting of smp parsing Yanan Wang
2021-07-28 20:24   ` Andrew Jones
2021-07-28  3:48 ` [PATCH for-6.2 v3 05/11] hw: Add compat machines for 6.2 Yanan Wang
2021-07-28  3:48 ` [PATCH for-6.2 v3 06/11] machine: Prefer cores over sockets in smp parsing since 6.2 Yanan Wang
2021-07-28 20:28   ` Andrew Jones
2021-07-29  9:12   ` Cornelia Huck
2021-07-28  3:48 ` [PATCH for-6.2 v3 07/11] machine: Use ms instead of global current_machine in sanity-check Yanan Wang
2021-07-28  4:37   ` Pankaj Gupta
2021-07-29  9:12   ` Cornelia Huck
2021-07-28  3:48 ` [PATCH for-6.2 v3 08/11] machine: Tweak the order of topology members in struct CpuTopology Yanan Wang
2021-07-28  3:48 ` [PATCH for-6.2 v3 09/11] machine: Make smp_parse generic enough for all arches Yanan Wang
2021-07-28 20:38   ` Andrew Jones
2021-07-28 20:41     ` Andrew Jones
2021-07-28  3:48 ` [PATCH for-6.2 v3 10/11] machine: Remove smp_parse callback from MachineClass Yanan Wang
2021-07-28 20:39   ` Andrew Jones
2021-07-28  3:48 ` [PATCH for-6.2 v3 11/11] machine: Move smp_prefer_sockets to struct SMPCompatProps Yanan Wang
2021-07-28  5:09   ` David Gibson
2021-07-28 20:40   ` Andrew Jones

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.