Message ID | 20221027032613.18377-1-yangyicong@huawei.com (mailing list archive) |
---|---|
Headers | show |
Series | Only generate cluster node in PPTT when specified | expand |
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
On Thu, Oct 27, 2022 at 11:26:11AM +0800, Yicong Yang wrote: > From: Yicong Yang <yangyicong@hisilicon.com> > > Update the ACPI tables according to the acpi aml_build change. > > Signed-off-by: Yicong Yang <yangyicong@hisilicon.com> OK nice but if patch 1 is applied alone that will break make check won't it? And this means the patchset breaks git bisect. Pls look at top of tests/qtest/bios-tables-test.c to see how to organize a patchset changing expected tables. > --- > tests/data/acpi/virt/PPTT | Bin 96 -> 76 bytes > 1 file changed, 0 insertions(+), 0 deletions(-) > > diff --git a/tests/data/acpi/virt/PPTT b/tests/data/acpi/virt/PPTT > index f56ea63b369a604877374ad696c396e796ab1c83..7a1258ecf123555b24462c98ccbb76b4ac1d0c2b 100644 > GIT binary patch > delta 32 > fcmYfB;R*-{3GrcIU|?D?k;`ae01J-_kOKn%ZFdCM > > delta 53 > pcmeZC;0g!`2}xjJU|{l?$YrDgWH5jU5Ca567#O&Klm(arApowi1QY-O > > -- > 2.24.0
On 2022/10/29 15:53, Michael S. Tsirkin wrote: > On Thu, Oct 27, 2022 at 11:26:11AM +0800, Yicong Yang wrote: >> From: Yicong Yang <yangyicong@hisilicon.com> >> >> Update the ACPI tables according to the acpi aml_build change. >> >> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com> > > OK nice but if patch 1 is applied alone that will break make check > won't it? And this means the patchset breaks git bisect. > Pls look at top of tests/qtest/bios-tables-test.c to see > how to organize a patchset changing expected tables. > Will follow the guidance and correctly mentioned the changes in tests/qtest/bios-tables-test-allowed-diff.h. So is the rest patches in the series. Thanks. > >> --- >> tests/data/acpi/virt/PPTT | Bin 96 -> 76 bytes >> 1 file changed, 0 insertions(+), 0 deletions(-) >> >> diff --git a/tests/data/acpi/virt/PPTT b/tests/data/acpi/virt/PPTT >> index f56ea63b369a604877374ad696c396e796ab1c83..7a1258ecf123555b24462c98ccbb76b4ac1d0c2b 100644 >> GIT binary patch >> delta 32 >> fcmYfB;R*-{3GrcIU|?D?k;`ae01J-_kOKn%ZFdCM >> >> delta 53 >> pcmeZC;0g!`2}xjJU|{l?$YrDgWH5jU5Ca567#O&Klm(arApowi1QY-O >> >> -- >> 2.24.0 > > . >
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