qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Yicong Yang via <qemu-devel@nongnu.org>
To: <mst@redhat.com>, <peter.maydell@linaro.org>,
	<imammedo@redhat.com>, <ani@anisinha.ca>, <eduardo@habkost.net>,
	<marcel.apfelbaum@gmail.com>, <f4bug@amsat.org>,
	<wangyanan55@huawei.com>, <qemu-devel@nongnu.org>
Cc: <jonathan.cameron@huawei.com>, <linuxarm@huawei.com>,
	<yangyicong@hisilicon.com>, <prime.zeng@huawei.com>,
	<hesham.almatary@huawei.com>, <ionela.voinescu@arm.com>,
	<darren@os.amperecomputing.com>
Subject: [PATCH v2 0/4] Only generate cluster node in PPTT when specified
Date: Thu, 27 Oct 2022 11:26:09 +0800	[thread overview]
Message-ID: <20221027032613.18377-1-yangyicong@huawei.com> (raw)

From: Yicong Yang <yangyicong@hisilicon.com>

This series mainly change the policy for building a cluster topology node
in PPTT. Previously we'll always build a cluster node in PPTT without
asking the user, after this set the cluster node will be built only the
the user specify through "-smp clusters=X".

One problem is related to this but not fully caused by this, see the
discussion in [*]. When booting the VM with `-smp 8` and 4 numa nodes,
the linux scheduling domains in the VM misses the NUMA domains. It's
because the MC level span extends to Cluster level (which is generated
by the Qemu by default) that spans all the cpus in the system, then the
scheduling domain building stops at MC level since it already includes all
the cpus.

Considering cluster is an optional level and most platforms don't have it,
they may even don't realize this is built and a always build policy cannot
emulate the topology on these platforms. So in this series improve the
policy to only generate cluster when the user explicitly want.

Update the tests and test tables accordingly.

[*] https://lore.kernel.org/lkml/2c079860-ee82-7719-d3d2-756192f41704@huawei.com/

Change since v1:
- Only includes the test tables which is really needed
- Enrich the commit
Link: https://lore.kernel.org/qemu-devel/20220922131143.58003-1-yangyicong@huawei.com/

Yicong Yang (4):
  hw/acpi/aml-build: Only generate cluster node in PPTT when specified
  tests: virt: update expected ACPI tables for virt test
  tests: acpi: aarch64: add topology test for aarch64
  tests: acpi: aarch64: add *.topology tables

 hw/acpi/aml-build.c                |   2 +-
 hw/core/machine-smp.c              |   3 +++
 include/hw/boards.h                |   2 ++
 qemu-options.hx                    |   2 ++
 tests/data/acpi/virt/APIC.topology | Bin 0 -> 700 bytes
 tests/data/acpi/virt/DSDT.topology | Bin 0 -> 5398 bytes
 tests/data/acpi/virt/PPTT          | Bin 96 -> 76 bytes
 tests/data/acpi/virt/PPTT.topology | Bin 0 -> 336 bytes
 tests/qtest/bios-tables-test.c     |  22 ++++++++++++++++++++++
 9 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 tests/data/acpi/virt/APIC.topology
 create mode 100644 tests/data/acpi/virt/DSDT.topology
 create mode 100644 tests/data/acpi/virt/PPTT.topology

-- 
2.24.0



             reply	other threads:[~2022-10-27  3:32 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-27  3:26 Yicong Yang via [this message]
2022-10-27  3:26 ` [PATCH v2 1/4] hw/acpi/aml-build: Only generate cluster node in PPTT when specified Yicong Yang via
2022-10-31  6:56   ` wangyanan (Y) via
2022-10-31  7:31     ` Yicong Yang via
2022-10-27  3:26 ` [PATCH v2 2/4] tests: virt: update expected ACPI tables for virt test Yicong Yang via
2022-10-29  7:53   ` Michael S. Tsirkin
2022-10-31  7:28     ` Yicong Yang via
2022-10-27  3:26 ` [PATCH v2 3/4] tests: acpi: aarch64: add topology test for aarch64 Yicong Yang via
2022-10-29  7:54   ` Michael S. Tsirkin
2022-10-27  3:26 ` [PATCH v2 4/4] tests: acpi: aarch64: add *.topology tables Yicong Yang via
2022-10-27  6:33 ` [PATCH v2 0/4] Only generate cluster node in PPTT when specified Michael S. Tsirkin

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=20221027032613.18377-1-yangyicong@huawei.com \
    --to=qemu-devel@nongnu.org \
    --cc=ani@anisinha.ca \
    --cc=darren@os.amperecomputing.com \
    --cc=eduardo@habkost.net \
    --cc=f4bug@amsat.org \
    --cc=hesham.almatary@huawei.com \
    --cc=imammedo@redhat.com \
    --cc=ionela.voinescu@arm.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=linuxarm@huawei.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=prime.zeng@huawei.com \
    --cc=wangyanan55@huawei.com \
    --cc=yangyicong@hisilicon.com \
    --cc=yangyicong@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).