On Mon, 22 Jul 2019 14:51:59 +0000
Shameerali Kolothum Thodi <shameerali.kolothum.th...@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.th...@huawei.com>
> > Cc: peter.mayd...@linaro.org; sa...@linux.intel.com;
> > shannon.zha...@gmail.com; ard.biesheu...@linaro.org;
> > qemu-devel@nongnu.org; xuwei (O) <xuw...@huawei.com>; Linuxarm
> > <linux...@huawei.com>; eric.au...@redhat.com; qemu-...@nongnu.org;
> > sebastien.bo...@intel.com; ler...@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.th...@huawei.com> wrote:
> >   
> > > From: Eric Auger <eric.au...@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 <m...@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


Reply via email to