On Thu, Oct 27, 2022 at 11:26:09AM +0800, Yicong Yang wrote:
> 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/
Looks superficually ok. ARM maintainers? Ack? Will you take this
or want me to?
Acked-by: Michael S. Tsirkin <mst@redhat.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