[PATCH 0/4] Only generate cluster node in PPTT when specified

Yicong Yang via posted 4 patches 6 days, 16 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220922131143.58003-1-yangyicong@huawei.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <ani@anisinha.ca>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Yanan Wang <wangyanan55@huawei.com>
hw/acpi/aml-build.c                |   2 +-
hw/core/machine-smp.c              |   3 +++
include/hw/boards.h                |   2 ++
tests/data/acpi/virt/APIC.pxb      | Bin 0 -> 168 bytes
tests/data/acpi/virt/APIC.topology | Bin 0 -> 700 bytes
tests/data/acpi/virt/DBG2.memhp    | Bin 0 -> 87 bytes
tests/data/acpi/virt/DBG2.numamem  | Bin 0 -> 87 bytes
tests/data/acpi/virt/DBG2.pxb      | Bin 0 -> 87 bytes
tests/data/acpi/virt/DBG2.topology | Bin 0 -> 87 bytes
tests/data/acpi/virt/DSDT.topology | Bin 0 -> 5398 bytes
tests/data/acpi/virt/FACP.pxb      | Bin 0 -> 268 bytes
tests/data/acpi/virt/FACP.topology | Bin 0 -> 268 bytes
tests/data/acpi/virt/GTDT.pxb      | Bin 0 -> 96 bytes
tests/data/acpi/virt/GTDT.topology | Bin 0 -> 96 bytes
tests/data/acpi/virt/IORT.topology | Bin 0 -> 128 bytes
tests/data/acpi/virt/MCFG.pxb      | Bin 0 -> 60 bytes
tests/data/acpi/virt/MCFG.topology | Bin 0 -> 60 bytes
tests/data/acpi/virt/PPTT          | Bin 96 -> 76 bytes
tests/data/acpi/virt/PPTT.memhp    | Bin 0 -> 76 bytes
tests/data/acpi/virt/PPTT.numamem  | Bin 0 -> 76 bytes
tests/data/acpi/virt/PPTT.pxb      | Bin 0 -> 76 bytes
tests/data/acpi/virt/PPTT.topology | Bin 0 -> 336 bytes
tests/data/acpi/virt/SPCR.pxb      | Bin 0 -> 80 bytes
tests/data/acpi/virt/SPCR.topology | Bin 0 -> 80 bytes
tests/qtest/bios-tables-test.c     |  22 ++++++++++++++++++++++
25 files changed, 28 insertions(+), 1 deletion(-)
create mode 100644 tests/data/acpi/virt/APIC.pxb
create mode 100644 tests/data/acpi/virt/APIC.topology
create mode 100644 tests/data/acpi/virt/DBG2.memhp
create mode 100644 tests/data/acpi/virt/DBG2.numamem
create mode 100644 tests/data/acpi/virt/DBG2.pxb
create mode 100644 tests/data/acpi/virt/DBG2.topology
create mode 100644 tests/data/acpi/virt/DSDT.topology
create mode 100644 tests/data/acpi/virt/FACP.pxb
create mode 100644 tests/data/acpi/virt/FACP.topology
create mode 100644 tests/data/acpi/virt/GTDT.pxb
create mode 100644 tests/data/acpi/virt/GTDT.topology
create mode 100644 tests/data/acpi/virt/IORT.topology
create mode 100644 tests/data/acpi/virt/MCFG.pxb
create mode 100644 tests/data/acpi/virt/MCFG.topology
create mode 100644 tests/data/acpi/virt/PPTT.memhp
create mode 100644 tests/data/acpi/virt/PPTT.numamem
create mode 100644 tests/data/acpi/virt/PPTT.pxb
create mode 100644 tests/data/acpi/virt/PPTT.topology
create mode 100644 tests/data/acpi/virt/SPCR.pxb
create mode 100644 tests/data/acpi/virt/SPCR.topology
[PATCH 0/4] Only generate cluster node in PPTT when specified
Posted by Yicong Yang via 6 days, 16 hours ago
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".

Update the tests and test tables accordingly.

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 ++
 tests/data/acpi/virt/APIC.pxb      | Bin 0 -> 168 bytes
 tests/data/acpi/virt/APIC.topology | Bin 0 -> 700 bytes
 tests/data/acpi/virt/DBG2.memhp    | Bin 0 -> 87 bytes
 tests/data/acpi/virt/DBG2.numamem  | Bin 0 -> 87 bytes
 tests/data/acpi/virt/DBG2.pxb      | Bin 0 -> 87 bytes
 tests/data/acpi/virt/DBG2.topology | Bin 0 -> 87 bytes
 tests/data/acpi/virt/DSDT.topology | Bin 0 -> 5398 bytes
 tests/data/acpi/virt/FACP.pxb      | Bin 0 -> 268 bytes
 tests/data/acpi/virt/FACP.topology | Bin 0 -> 268 bytes
 tests/data/acpi/virt/GTDT.pxb      | Bin 0 -> 96 bytes
 tests/data/acpi/virt/GTDT.topology | Bin 0 -> 96 bytes
 tests/data/acpi/virt/IORT.topology | Bin 0 -> 128 bytes
 tests/data/acpi/virt/MCFG.pxb      | Bin 0 -> 60 bytes
 tests/data/acpi/virt/MCFG.topology | Bin 0 -> 60 bytes
 tests/data/acpi/virt/PPTT          | Bin 96 -> 76 bytes
 tests/data/acpi/virt/PPTT.memhp    | Bin 0 -> 76 bytes
 tests/data/acpi/virt/PPTT.numamem  | Bin 0 -> 76 bytes
 tests/data/acpi/virt/PPTT.pxb      | Bin 0 -> 76 bytes
 tests/data/acpi/virt/PPTT.topology | Bin 0 -> 336 bytes
 tests/data/acpi/virt/SPCR.pxb      | Bin 0 -> 80 bytes
 tests/data/acpi/virt/SPCR.topology | Bin 0 -> 80 bytes
 tests/qtest/bios-tables-test.c     |  22 ++++++++++++++++++++++
 25 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 tests/data/acpi/virt/APIC.pxb
 create mode 100644 tests/data/acpi/virt/APIC.topology
 create mode 100644 tests/data/acpi/virt/DBG2.memhp
 create mode 100644 tests/data/acpi/virt/DBG2.numamem
 create mode 100644 tests/data/acpi/virt/DBG2.pxb
 create mode 100644 tests/data/acpi/virt/DBG2.topology
 create mode 100644 tests/data/acpi/virt/DSDT.topology
 create mode 100644 tests/data/acpi/virt/FACP.pxb
 create mode 100644 tests/data/acpi/virt/FACP.topology
 create mode 100644 tests/data/acpi/virt/GTDT.pxb
 create mode 100644 tests/data/acpi/virt/GTDT.topology
 create mode 100644 tests/data/acpi/virt/IORT.topology
 create mode 100644 tests/data/acpi/virt/MCFG.pxb
 create mode 100644 tests/data/acpi/virt/MCFG.topology
 create mode 100644 tests/data/acpi/virt/PPTT.memhp
 create mode 100644 tests/data/acpi/virt/PPTT.numamem
 create mode 100644 tests/data/acpi/virt/PPTT.pxb
 create mode 100644 tests/data/acpi/virt/PPTT.topology
 create mode 100644 tests/data/acpi/virt/SPCR.pxb
 create mode 100644 tests/data/acpi/virt/SPCR.topology

-- 
2.24.0
Re: [PATCH 0/4] Only generate cluster node in PPTT when specified
Posted by Jonathan Cameron via 6 days, 15 hours ago
On Thu, 22 Sep 2022 21:11:39 +0800
Yicong Yang <yangyicong@huawei.com> 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".
> 
> Update the tests and test tables accordingly.
Hi Yicong,

Does this bring an issue with backwards compatibility?
I'm assuming we need to make this something controlled in
virt_machine_7_1_options()?

One of those things we probably should have noticed originally but now
we are stuck with the slightly messy backwards compatibility problem.

Also, looks like you picked up a bunch of tables that are unrelated
to the change.

Jonathan


> 
> 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 ++
>  tests/data/acpi/virt/APIC.pxb      | Bin 0 -> 168 bytes
>  tests/data/acpi/virt/APIC.topology | Bin 0 -> 700 bytes
>  tests/data/acpi/virt/DBG2.memhp    | Bin 0 -> 87 bytes
>  tests/data/acpi/virt/DBG2.numamem  | Bin 0 -> 87 bytes
>  tests/data/acpi/virt/DBG2.pxb      | Bin 0 -> 87 bytes
>  tests/data/acpi/virt/DBG2.topology | Bin 0 -> 87 bytes
>  tests/data/acpi/virt/DSDT.topology | Bin 0 -> 5398 bytes
>  tests/data/acpi/virt/FACP.pxb      | Bin 0 -> 268 bytes
>  tests/data/acpi/virt/FACP.topology | Bin 0 -> 268 bytes
>  tests/data/acpi/virt/GTDT.pxb      | Bin 0 -> 96 bytes
>  tests/data/acpi/virt/GTDT.topology | Bin 0 -> 96 bytes
>  tests/data/acpi/virt/IORT.topology | Bin 0 -> 128 bytes
>  tests/data/acpi/virt/MCFG.pxb      | Bin 0 -> 60 bytes
>  tests/data/acpi/virt/MCFG.topology | Bin 0 -> 60 bytes
>  tests/data/acpi/virt/PPTT          | Bin 96 -> 76 bytes
>  tests/data/acpi/virt/PPTT.memhp    | Bin 0 -> 76 bytes
>  tests/data/acpi/virt/PPTT.numamem  | Bin 0 -> 76 bytes
>  tests/data/acpi/virt/PPTT.pxb      | Bin 0 -> 76 bytes
>  tests/data/acpi/virt/PPTT.topology | Bin 0 -> 336 bytes
>  tests/data/acpi/virt/SPCR.pxb      | Bin 0 -> 80 bytes
>  tests/data/acpi/virt/SPCR.topology | Bin 0 -> 80 bytes

>  tests/qtest/bios-tables-test.c     |  22 ++++++++++++++++++++++
>  25 files changed, 28 insertions(+), 1 deletion(-)
>  create mode 100644 tests/data/acpi/virt/APIC.pxb
>  create mode 100644 tests/data/acpi/virt/APIC.topology
>  create mode 100644 tests/data/acpi/virt/DBG2.memhp
>  create mode 100644 tests/data/acpi/virt/DBG2.numamem
>  create mode 100644 tests/data/acpi/virt/DBG2.pxb
>  create mode 100644 tests/data/acpi/virt/DBG2.topology
>  create mode 100644 tests/data/acpi/virt/DSDT.topology
>  create mode 100644 tests/data/acpi/virt/FACP.pxb
>  create mode 100644 tests/data/acpi/virt/FACP.topology
>  create mode 100644 tests/data/acpi/virt/GTDT.pxb
>  create mode 100644 tests/data/acpi/virt/GTDT.topology
>  create mode 100644 tests/data/acpi/virt/IORT.topology
>  create mode 100644 tests/data/acpi/virt/MCFG.pxb
>  create mode 100644 tests/data/acpi/virt/MCFG.topology
>  create mode 100644 tests/data/acpi/virt/PPTT.memhp
>  create mode 100644 tests/data/acpi/virt/PPTT.numamem
>  create mode 100644 tests/data/acpi/virt/PPTT.pxb
>  create mode 100644 tests/data/acpi/virt/PPTT.topology
>  create mode 100644 tests/data/acpi/virt/SPCR.pxb
>  create mode 100644 tests/data/acpi/virt/SPCR.topology
>
Re: [PATCH 0/4] Only generate cluster node in PPTT when specified
Posted by Yicong Yang via 5 days, 21 hours ago
On 2022/9/22 22:31, Jonathan Cameron wrote:
> On Thu, 22 Sep 2022 21:11:39 +0800
> Yicong Yang <yangyicong@huawei.com> 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".
>>
>> Update the tests and test tables accordingly.
> Hi Yicong,

Hi Jonathan,

Thanks for the comments!

> 
> Does this bring an issue with backwards compatibility?
> I'm assuming we need to make this something controlled in
> virt_machine_7_1_options()?
> 

I'm not sure but I cannot come up with one for now. Any hints for this?
Maybe Yanan can shed some light on this since they are using this cluster
feature.

> One of those things we probably should have noticed originally but now
> we are stuck with the slightly messy backwards compatibility problem.
> 
> Also, looks like you picked up a bunch of tables that are unrelated
> to the change.
> 

The tables are updated by tests/data/acpi/rebuild-expected-aml.sh so I think
it's doing the proper thing. These tables are introduced due to:

Patch 1 - Don't build the cluster node by default, so the "virt" test is influenced
Patch 2 - Update the expected PPTT table to get rid of the cluster node
Patch 3 - Since the cluster is not tested, add a new test for topology test of all
          level for aarch64, with command "-smp sockets=1,clusters=2,cores=2,threads=2"
Patch 4 - Update the expected tables for the topology test introduced in Patch 3


> Jonathan
> 
> 
>>
>> 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 ++
>>  tests/data/acpi/virt/APIC.pxb      | Bin 0 -> 168 bytes
>>  tests/data/acpi/virt/APIC.topology | Bin 0 -> 700 bytes
>>  tests/data/acpi/virt/DBG2.memhp    | Bin 0 -> 87 bytes
>>  tests/data/acpi/virt/DBG2.numamem  | Bin 0 -> 87 bytes
>>  tests/data/acpi/virt/DBG2.pxb      | Bin 0 -> 87 bytes
>>  tests/data/acpi/virt/DBG2.topology | Bin 0 -> 87 bytes
>>  tests/data/acpi/virt/DSDT.topology | Bin 0 -> 5398 bytes
>>  tests/data/acpi/virt/FACP.pxb      | Bin 0 -> 268 bytes
>>  tests/data/acpi/virt/FACP.topology | Bin 0 -> 268 bytes
>>  tests/data/acpi/virt/GTDT.pxb      | Bin 0 -> 96 bytes
>>  tests/data/acpi/virt/GTDT.topology | Bin 0 -> 96 bytes
>>  tests/data/acpi/virt/IORT.topology | Bin 0 -> 128 bytes
>>  tests/data/acpi/virt/MCFG.pxb      | Bin 0 -> 60 bytes
>>  tests/data/acpi/virt/MCFG.topology | Bin 0 -> 60 bytes
>>  tests/data/acpi/virt/PPTT          | Bin 96 -> 76 bytes
>>  tests/data/acpi/virt/PPTT.memhp    | Bin 0 -> 76 bytes
>>  tests/data/acpi/virt/PPTT.numamem  | Bin 0 -> 76 bytes
>>  tests/data/acpi/virt/PPTT.pxb      | Bin 0 -> 76 bytes
>>  tests/data/acpi/virt/PPTT.topology | Bin 0 -> 336 bytes
>>  tests/data/acpi/virt/SPCR.pxb      | Bin 0 -> 80 bytes
>>  tests/data/acpi/virt/SPCR.topology | Bin 0 -> 80 bytes
> 
>>  tests/qtest/bios-tables-test.c     |  22 ++++++++++++++++++++++
>>  25 files changed, 28 insertions(+), 1 deletion(-)
>>  create mode 100644 tests/data/acpi/virt/APIC.pxb
>>  create mode 100644 tests/data/acpi/virt/APIC.topology
>>  create mode 100644 tests/data/acpi/virt/DBG2.memhp
>>  create mode 100644 tests/data/acpi/virt/DBG2.numamem
>>  create mode 100644 tests/data/acpi/virt/DBG2.pxb
>>  create mode 100644 tests/data/acpi/virt/DBG2.topology
>>  create mode 100644 tests/data/acpi/virt/DSDT.topology
>>  create mode 100644 tests/data/acpi/virt/FACP.pxb
>>  create mode 100644 tests/data/acpi/virt/FACP.topology
>>  create mode 100644 tests/data/acpi/virt/GTDT.pxb
>>  create mode 100644 tests/data/acpi/virt/GTDT.topology
>>  create mode 100644 tests/data/acpi/virt/IORT.topology
>>  create mode 100644 tests/data/acpi/virt/MCFG.pxb
>>  create mode 100644 tests/data/acpi/virt/MCFG.topology
>>  create mode 100644 tests/data/acpi/virt/PPTT.memhp
>>  create mode 100644 tests/data/acpi/virt/PPTT.numamem
>>  create mode 100644 tests/data/acpi/virt/PPTT.pxb
>>  create mode 100644 tests/data/acpi/virt/PPTT.topology
>>  create mode 100644 tests/data/acpi/virt/SPCR.pxb
>>  create mode 100644 tests/data/acpi/virt/SPCR.topology
>>
> 
> .
>