Message ID | 20190716153816.17676-1-shameerali.kolothum.thodi@huawei.com (mailing list archive) |
---|---|
Headers | show |
Series | ARM virt: ACPI memory hotplug support | expand |
From: Eric Auger <eric.auger@redhat.com> PCDIMM hotplug addition updated the DSDT. Update the reference table. Signed-off-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> --- tests/data/acpi/virt/DSDT | Bin 18476 -> 18493 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/data/acpi/virt/DSDT b/tests/data/acpi/virt/DSDT index 20e85c7f89f645c69935c615c07084e221419960..1a5c3e5243c78eb25345fdf7ffa442afec3c5c28 100644 GIT binary patch delta 172 zcmZ28fpPByMlP3Nmk?VI1_q{Y6S<_BIvO{s=eSSi^^mWRZt~=a(Tfjuig$N)iRXy- z@O0sIbPn(|FfcS`;D`?ea)A;+mUB?BARiZZCmRDZqb36bLnT9WgKLnhI|B~`0|zG; zOLQYQi0kYc?CPT+ViNBf7Q$Ho;v_5(n_Qj1$iNt*&kVB1*CW8$H`v*4fdEjLhl`1U Ni>WOjJjjWw0RY`tDw+TQ delta 134 zcmdlxfpN_QMlP3Nmk=Ef1_q{ziCof5?F}2%bKIpo*xdvC4LIUGJY9GlgM2*<49pA} zIN}{$f+og`c`$P_2rw{ovN13+sxvS!RDxt&Jq4Ay6ndl?7@-g-A<n=c$sh-0Ff)LR Z11c2ZjdwLLW@rlt4|3vam^{&45den68LI#Q
On Tue, 16 Jul 2019 16:38:16 +0100 Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> wrote: > From: Eric Auger <eric.auger@redhat.com> > > PCDIMM hotplug addition updated the DSDT. Update the reference table. it's not correct process. series should be merged through Michael's pci branch and see commit ab50f22309a17c772c51931940596e707c200739 (mst/pci) Author: Michael S. Tsirkin <mst@redhat.com> Date: Tue May 21 17:38:47 2019 -0400 bios-tables-test: add diff allowed list how to request table update. Another thing: bios-tables-test has test_acpi_tcg_dimm_pxm() test case, pls make use of it to test arm/virt variant > > Signed-off-by: Eric Auger <eric.auger@redhat.com> > Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> > Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > tests/data/acpi/virt/DSDT | Bin 18476 -> 18493 bytes > 1 file changed, 0 insertions(+), 0 deletions(-) > > diff --git a/tests/data/acpi/virt/DSDT b/tests/data/acpi/virt/DSDT > index 20e85c7f89f645c69935c615c07084e221419960..1a5c3e5243c78eb25345fdf7ffa442afec3c5c28 100644 > GIT binary patch > delta 172 > zcmZ28fpPByMlP3Nmk?VI1_q{Y6S<_BIvO{s=eSSi^^mWRZt~=a(Tfjuig$N)iRXy- > z@O0sIbPn(|FfcS`;D`?ea)A;+mUB?BARiZZCmRDZqb36bLnT9WgKLnhI|B~`0|zG; > zOLQYQi0kYc?CPT+ViNBf7Q$Ho;v_5(n_Qj1$iNt*&kVB1*CW8$H`v*4fdEjLhl`1U > Ni>WOjJjjWw0RY`tDw+TQ > > delta 134 > zcmdlxfpN_QMlP3Nmk=Ef1_q{ziCof5?F}2%bKIpo*xdvC4LIUGJY9GlgM2*<49pA} > zIN}{$f+og`c`$P_2rw{ovN13+sxvS!RDxt&Jq4Ay6ndl?7@-g-A<n=c$sh-0Ff)LR > Z11c2ZjdwLLW@rlt4|3vam^{&45den68LI#Q >
Hi Igor, > -----Original Message----- > From: Qemu-devel > [mailto:qemu-devel-bounces+shameerali.kolothum.thodi=huawei.com@nongn > u.org] On Behalf Of Igor Mammedov > Sent: 18 July 2019 14:13 > To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com> > Cc: peter.maydell@linaro.org; sameo@linux.intel.com; > shannon.zhaosl@gmail.com; ard.biesheuvel@linaro.org; > qemu-devel@nongnu.org; xuwei (O) <xuwei5@huawei.com>; Linuxarm > <linuxarm@huawei.com>; eric.auger@redhat.com; qemu-arm@nongnu.org; > sebastien.boeuf@intel.com; lersek@redhat.com > Subject: Re: [Qemu-devel] [PATCH-for-4.2 v7 10/10] tests: Update DSDT ACPI > table for arm/virt board with PCDIMM related changes > > On Tue, 16 Jul 2019 16:38:16 +0100 > Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> wrote: > > > From: Eric Auger <eric.auger@redhat.com> > > > > PCDIMM hotplug addition updated the DSDT. Update the reference table. > > it's not correct process. series should be merged through Michael's pci branch > and see > commit ab50f22309a17c772c51931940596e707c200739 (mst/pci) > Author: Michael S. Tsirkin <mst@redhat.com> > Date: Tue May 21 17:38:47 2019 -0400 > > bios-tables-test: add diff allowed list > > how to request table update. Ok. Just to confirm, this means I can probably add the below diff to patch #6 and remove this patch(10/10) from the series. diff --git a/tests/bios-tables-test-allowed-diff.h b/tests/bios-tables-test-allowed-diff.h index dfb8523c8b..7b4adbc822 100644 --- a/tests/bios-tables-test-allowed-diff.h +++ b/tests/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/virt/DSDT", > > Another thing: > bios-tables-test has test_acpi_tcg_dimm_pxm() test case, > pls make use of it to test arm/virt variant I had a go with this, but has found an issue with this. This is what I added in order to run the dimm_pxm test. - - 8- - diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c index a356ac3489..79af4f4874 100644 --- a/tests/bios-tables-test.c +++ b/tests/bios-tables-test.c @@ -871,6 +871,36 @@ static void test_acpi_piix4_tcg_dimm_pxm(void) test_acpi_tcg_dimm_pxm(MACHINE_PC); } +static void test_acpi_virt_tcg_dimm_pxm(void) +{ + test_data data = { + .machine = "virt", + .accel = "tcg", + .uefi_fl1 = "pc-bios/edk2-aarch64-code.fd", + .uefi_fl2 = "pc-bios/edk2-arm-vars.fd", + .cd = "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.qcow2", + .ram_start = 0x40000000ULL, + .scan_len = 128ULL * 1024 * 1024, + }; + + data.variant = ".dimmpxm"; + test_acpi_one(" -cpu cortex-a57" + " -smp 4" + " -m 512M,slots=3,maxmem=2G" + " -object memory-backend-ram,id=ram0,size=128M" + " -object memory-backend-ram,id=ram1,size=128M" + " -object memory-backend-ram,id=ram2,size=128M" + " -object memory-backend-ram,id=ram3,size=128M" + " -numa node,memdev=ram0,nodeid=0" + " -numa node,memdev=ram1,nodeid=1" + " -numa node,memdev=ram2,nodeid=2" + " -numa node,memdev=ram3,nodeid=3" + " -object memory-backend-ram,id=ram4,size=1G" + " -device pc-dimm,id=dimm0,memdev=ram4,node=0", + &data); + free_test_data(&data); +} + static void test_acpi_virt_tcg(void) { test_data data = { @@ -917,6 +947,7 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_tcg_dimm_pxm); } else if (strcmp(arch, "aarch64") == 0) { qtest_add_func("acpi/virt", test_acpi_virt_tcg); + qtest_add_func("acpi/virt/dimmpxm", test_acpi_virt_tcg_dimm_pxm); } ret = g_test_run(); boot_sector_cleanup(disk); - - 8- - Then used the script to generate the acpi tables and "make check" runs fine. But when I changed the memory configuration to, test_acpi_one(" -cpu cortex-a57" " -smp 4" " -m 256M,slots=3,maxmem=2G" " -object memory-backend-ram,id=ram0,size=64M" " -object memory-backend-ram,id=ram1,size=64M" " -object memory-backend-ram,id=ram2,size=64M" " -object memory-backend-ram,id=ram3,size=64M" " -numa node,memdev=ram0,nodeid=0" " -numa node,memdev=ram1,nodeid=1" " -numa node,memdev=ram2,nodeid=2" " -numa node,memdev=ram3,nodeid=3" " -object memory-backend-ram,id=ram4,size=1G" " -device pc-dimm,id=dimm0,memdev=ram4,node=0", &data); "make check" gets stuck at, CC tests/bios-tables-test.o LINK tests/bios-tables-test TEST check-qtest-aarch64: tests/numa-test TEST check-qtest-aarch64: tests/boot-serial-test TEST check-qtest-aarch64: tests/migration-test TEST check-qtest-aarch64: tests/bios-tables-test -->stuck here. But if I use the same memory configuration and run the qemu guest independently it boots fine. ./qemu-system-aarch64 -machine virt,accel=tcg \ -cpu cortex-a57 \ -nographic -smp 4 \ -bios QEMU_EFI_Release.fd \ -kernel Image_5.2rc2 \ -drive if=none,file=ubuntu-est-5.0,id=fs \ -device virtio-blk-device,drive=fs \ -m 256M,slots=3,maxmem=2G \ -object memory-backend-ram,id=ram0,size=64M \ -object memory-backend-ram,id=ram1,size=64M \ -object memory-backend-ram,id=ram2,size=64M \ -object memory-backend-ram,id=ram3,size=64M \ -numa node,memdev=ram0,nodeid=0 \ -numa node,memdev=ram1,nodeid=1 \ -numa node,memdev=ram2,nodeid=2 \ -numa node,memdev=ram3,nodeid=3 \ -object memory-backend-ram,id=ram4,size=1G \ -device pc-dimm,id=dimm1,memdev=ram4,node=0 \ -append "console=ttyAMA0 root=/dev/vda rw acpi=force" root@ubuntu:~# numactl -H available: 4 nodes (0-3) node 0 cpus: 0 node 0 size: 1067 MB node 0 free: 1015 MB node 1 cpus: 1 node 1 size: 44 MB node 1 free: 5 MB node 2 cpus: 2 node 2 size: 63 MB node 2 free: 24 MB node 3 cpus: 3 node 3 size: 63 MB node 3 free: 31 MB node distances: node 0 1 2 3 0: 10 20 20 20 1: 20 10 20 20 2: 20 20 10 20 3: 20 20 20 10 root@ubuntu:~# I am not sure why "make check" hangs with 64M size!. Please take a look and let me know if I missed anything obvious here. Thanks, Shameer
On Mon, 22 Jul 2019 14:51:59 +0000 Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com> wrote: > Hi Igor, > > > -----Original Message----- > > From: Qemu-devel > > [mailto:qemu-devel-bounces+shameerali.kolothum.thodi=huawei.com@nongn > > u.org] On Behalf Of Igor Mammedov > > Sent: 18 July 2019 14:13 > > To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com> > > Cc: peter.maydell@linaro.org; sameo@linux.intel.com; > > shannon.zhaosl@gmail.com; ard.biesheuvel@linaro.org; > > qemu-devel@nongnu.org; xuwei (O) <xuwei5@huawei.com>; Linuxarm > > <linuxarm@huawei.com>; eric.auger@redhat.com; qemu-arm@nongnu.org; > > sebastien.boeuf@intel.com; lersek@redhat.com > > Subject: Re: [Qemu-devel] [PATCH-for-4.2 v7 10/10] tests: Update DSDT ACPI > > table for arm/virt board with PCDIMM related changes > > > > On Tue, 16 Jul 2019 16:38:16 +0100 > > Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> wrote: > > > > > From: Eric Auger <eric.auger@redhat.com> > > > > > > PCDIMM hotplug addition updated the DSDT. Update the reference table. > > > > it's not correct process. series should be merged through Michael's pci branch > > and see > > commit ab50f22309a17c772c51931940596e707c200739 (mst/pci) > > Author: Michael S. Tsirkin <mst@redhat.com> > > Date: Tue May 21 17:38:47 2019 -0400 > > > > bios-tables-test: add diff allowed list > > > > how to request table update. > > Ok. Just to confirm, this means I can probably add the below diff to patch #6 and > remove this patch(10/10) from the series. you can use commit 4a4418369d6 as an example > > diff --git a/tests/bios-tables-test-allowed-diff.h b/tests/bios-tables-test-allowed-diff.h > index dfb8523c8b..7b4adbc822 100644 > --- a/tests/bios-tables-test-allowed-diff.h > +++ b/tests/bios-tables-test-allowed-diff.h > @@ -1 +1,2 @@ > /* List of comma-separated changed AML files to ignore */ > +"tests/data/acpi/virt/DSDT", > > > > > Another thing: > > bios-tables-test has test_acpi_tcg_dimm_pxm() test case, > > pls make use of it to test arm/virt variant > > I had a go with this, but has found an issue with this. > > This is what I added in order to run the dimm_pxm test. > > - - 8- - > > diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c > index a356ac3489..79af4f4874 100644 > --- a/tests/bios-tables-test.c > +++ b/tests/bios-tables-test.c > @@ -871,6 +871,36 @@ static void test_acpi_piix4_tcg_dimm_pxm(void) > test_acpi_tcg_dimm_pxm(MACHINE_PC); > } > > +static void test_acpi_virt_tcg_dimm_pxm(void) > +{ > + test_data data = { > + .machine = "virt", > + .accel = "tcg", > + .uefi_fl1 = "pc-bios/edk2-aarch64-code.fd", > + .uefi_fl2 = "pc-bios/edk2-arm-vars.fd", > + .cd = "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.qcow2", > + .ram_start = 0x40000000ULL, > + .scan_len = 128ULL * 1024 * 1024, > + }; > + > + data.variant = ".dimmpxm"; > + test_acpi_one(" -cpu cortex-a57" > + " -smp 4" > + " -m 512M,slots=3,maxmem=2G" > + " -object memory-backend-ram,id=ram0,size=128M" > + " -object memory-backend-ram,id=ram1,size=128M" > + " -object memory-backend-ram,id=ram2,size=128M" > + " -object memory-backend-ram,id=ram3,size=128M" > + " -numa node,memdev=ram0,nodeid=0" > + " -numa node,memdev=ram1,nodeid=1" > + " -numa node,memdev=ram2,nodeid=2" > + " -numa node,memdev=ram3,nodeid=3" > + " -object memory-backend-ram,id=ram4,size=1G" > + " -device pc-dimm,id=dimm0,memdev=ram4,node=0", > + &data); > + free_test_data(&data); > +} > + > static void test_acpi_virt_tcg(void) > { > test_data data = { > @@ -917,6 +947,7 @@ int main(int argc, char *argv[]) > qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_tcg_dimm_pxm); > } else if (strcmp(arch, "aarch64") == 0) { > qtest_add_func("acpi/virt", test_acpi_virt_tcg); > + qtest_add_func("acpi/virt/dimmpxm", test_acpi_virt_tcg_dimm_pxm); > } > ret = g_test_run(); > boot_sector_cleanup(disk); > > - - 8- - > > Then used the script to generate the acpi tables and "make check" runs fine. > > But when I changed the memory configuration to, > > test_acpi_one(" -cpu cortex-a57" > " -smp 4" > " -m 256M,slots=3,maxmem=2G" > " -object memory-backend-ram,id=ram0,size=64M" > " -object memory-backend-ram,id=ram1,size=64M" > " -object memory-backend-ram,id=ram2,size=64M" > " -object memory-backend-ram,id=ram3,size=64M" > " -numa node,memdev=ram0,nodeid=0" > " -numa node,memdev=ram1,nodeid=1" > " -numa node,memdev=ram2,nodeid=2" > " -numa node,memdev=ram3,nodeid=3" > " -object memory-backend-ram,id=ram4,size=1G" > " -device pc-dimm,id=dimm0,memdev=ram4,node=0", > &data); > > "make check" gets stuck at, > > CC tests/bios-tables-test.o > LINK tests/bios-tables-test > TEST check-qtest-aarch64: tests/numa-test > TEST check-qtest-aarch64: tests/boot-serial-test > TEST check-qtest-aarch64: tests/migration-test > TEST check-qtest-aarch64: tests/bios-tables-test -->stuck here. > > But if I use the same memory configuration and run the qemu guest independently > it boots fine. > > ./qemu-system-aarch64 -machine virt,accel=tcg \ > -cpu cortex-a57 \ > -nographic -smp 4 \ > -bios QEMU_EFI_Release.fd \ > -kernel Image_5.2rc2 \ > -drive if=none,file=ubuntu-est-5.0,id=fs \ > -device virtio-blk-device,drive=fs \ > -m 256M,slots=3,maxmem=2G \ > -object memory-backend-ram,id=ram0,size=64M \ > -object memory-backend-ram,id=ram1,size=64M \ > -object memory-backend-ram,id=ram2,size=64M \ > -object memory-backend-ram,id=ram3,size=64M \ > -numa node,memdev=ram0,nodeid=0 \ > -numa node,memdev=ram1,nodeid=1 \ > -numa node,memdev=ram2,nodeid=2 \ > -numa node,memdev=ram3,nodeid=3 \ > -object memory-backend-ram,id=ram4,size=1G \ > -device pc-dimm,id=dimm1,memdev=ram4,node=0 \ > -append "console=ttyAMA0 root=/dev/vda rw acpi=force" > > root@ubuntu:~# numactl -H > available: 4 nodes (0-3) > node 0 cpus: 0 > node 0 size: 1067 MB > node 0 free: 1015 MB > node 1 cpus: 1 > node 1 size: 44 MB > node 1 free: 5 MB > node 2 cpus: 2 > node 2 size: 63 MB > node 2 free: 24 MB > node 3 cpus: 3 > node 3 size: 63 MB > node 3 free: 31 MB > node distances: > node 0 1 2 3 > 0: 10 20 20 20 > 1: 20 10 20 20 > 2: 20 20 10 20 > 3: 20 20 20 10 > root@ubuntu:~# > > I am not sure why "make check" hangs with 64M size!. > Please take a look and let me know if I missed anything obvious here. I'd try to see what tests/bios-tables-test does when it's stuck. (I'd guess that it can't find ACPI tables) also pay attention to .scan_len so it would cover all RAM > > Thanks, > Shameer