[Qemu-devel] [PATCH] tests: acpi: extend cphp and memhp testcase with numa distance check

He Chen posted 1 patch 6 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1493803036-4048-1-git-send-email-he.chen@linux.intel.com
Test checkpatch passed
Test docker passed
Test s390x passed
tests/bios-tables-test.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
[Qemu-devel] [PATCH] tests: acpi: extend cphp and memhp testcase with numa distance check
Posted by He Chen 6 years, 10 months ago
Signed-off-by: He Chen <he.chen@linux.intel.com>
---
 tests/bios-tables-test.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index 88dbf97..c593165 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -710,7 +710,8 @@ static void test_acpi_piix4_tcg_cphp(void)
     data.machine = MACHINE_PC;
     data.variant = ".cphp";
     test_acpi_one("-smp 2,cores=3,sockets=2,maxcpus=6"
-                  " -numa node -numa node",
+                  " -numa node -numa node"
+                  " -numa dist,src=0,dst=1,val=21",
                   &data);
     free_test_data(&data);
 }
@@ -723,7 +724,8 @@ static void test_acpi_q35_tcg_cphp(void)
     data.machine = MACHINE_Q35;
     data.variant = ".cphp";
     test_acpi_one(" -smp 2,cores=3,sockets=2,maxcpus=6"
-                  " -numa node -numa node",
+                  " -numa node -numa node"
+                  " -numa dist,src=0,dst=1,val=21",
                   &data);
     free_test_data(&data);
 }
@@ -772,7 +774,10 @@ static void test_acpi_q35_tcg_memhp(void)
     memset(&data, 0, sizeof(data));
     data.machine = MACHINE_Q35;
     data.variant = ".memhp";
-    test_acpi_one(" -m 128,slots=3,maxmem=1G -numa node", &data);
+    test_acpi_one(" -m 128,slots=3,maxmem=1G"
+                  " -numa node -numa node"
+                  " -numa dist,src=0,dst=1,val=21",
+                  &data);
     free_test_data(&data);
 }
 
@@ -783,7 +788,10 @@ static void test_acpi_piix4_tcg_memhp(void)
     memset(&data, 0, sizeof(data));
     data.machine = MACHINE_PC;
     data.variant = ".memhp";
-    test_acpi_one(" -m 128,slots=3,maxmem=1G -numa node", &data);
+    test_acpi_one(" -m 128,slots=3,maxmem=1G"
+                  " -numa node -numa node"
+                  " -numa dist,src=0,dst=1,val=21",
+                  &data);
     free_test_data(&data);
 }
 
-- 
2.7.4


Re: [Qemu-devel] [PATCH] tests: acpi: extend cphp and memhp testcase with numa distance check
Posted by Igor Mammedov 6 years, 10 months ago
On Wed,  3 May 2017 17:17:16 +0800
He Chen <he.chen@linux.intel.com> wrote:

> Signed-off-by: He Chen <he.chen@linux.intel.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>

Eduardo,

could you take it through your tree as well and
add as part of this patch SLIT tables blobs for
piix4/q35 that tests/acpi-test-data/rebuild-expected-aml.sh
will generate.

> ---
>  tests/bios-tables-test.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
> index 88dbf97..c593165 100644
> --- a/tests/bios-tables-test.c
> +++ b/tests/bios-tables-test.c
> @@ -710,7 +710,8 @@ static void test_acpi_piix4_tcg_cphp(void)
>      data.machine = MACHINE_PC;
>      data.variant = ".cphp";
>      test_acpi_one("-smp 2,cores=3,sockets=2,maxcpus=6"
> -                  " -numa node -numa node",
> +                  " -numa node -numa node"
> +                  " -numa dist,src=0,dst=1,val=21",
>                    &data);
>      free_test_data(&data);
>  }
> @@ -723,7 +724,8 @@ static void test_acpi_q35_tcg_cphp(void)
>      data.machine = MACHINE_Q35;
>      data.variant = ".cphp";
>      test_acpi_one(" -smp 2,cores=3,sockets=2,maxcpus=6"
> -                  " -numa node -numa node",
> +                  " -numa node -numa node"
> +                  " -numa dist,src=0,dst=1,val=21",
>                    &data);
>      free_test_data(&data);
>  }
> @@ -772,7 +774,10 @@ static void test_acpi_q35_tcg_memhp(void)
>      memset(&data, 0, sizeof(data));
>      data.machine = MACHINE_Q35;
>      data.variant = ".memhp";
> -    test_acpi_one(" -m 128,slots=3,maxmem=1G -numa node", &data);
> +    test_acpi_one(" -m 128,slots=3,maxmem=1G"
> +                  " -numa node -numa node"
> +                  " -numa dist,src=0,dst=1,val=21",
> +                  &data);
>      free_test_data(&data);
>  }
>  
> @@ -783,7 +788,10 @@ static void test_acpi_piix4_tcg_memhp(void)
>      memset(&data, 0, sizeof(data));
>      data.machine = MACHINE_PC;
>      data.variant = ".memhp";
> -    test_acpi_one(" -m 128,slots=3,maxmem=1G -numa node", &data);
> +    test_acpi_one(" -m 128,slots=3,maxmem=1G"
> +                  " -numa node -numa node"
> +                  " -numa dist,src=0,dst=1,val=21",
> +                  &data);
>      free_test_data(&data);
>  }
>  


Re: [Qemu-devel] [PATCH] tests: acpi: extend cphp and memhp testcase with numa distance check
Posted by Eduardo Habkost 6 years, 10 months ago
On Wed, May 03, 2017 at 03:07:05PM +0200, Igor Mammedov wrote:
> On Wed,  3 May 2017 17:17:16 +0800
> He Chen <he.chen@linux.intel.com> wrote:
> 
> > Signed-off-by: He Chen <he.chen@linux.intel.com>
> Reviewed-by: Igor Mammedov <imammedo@redhat.com>

Thanks!

> 
> Eduardo,
> 
> could you take it through your tree as well and
> add as part of this patch SLIT tables blobs for
> piix4/q35 that tests/acpi-test-data/rebuild-expected-aml.sh
> will generate.

Queued to numa-next, updated SRAT and SLIT blobs. diffstat of commit fixup:

 tests/acpi-test-data/pc/SLIT.cphp   | Bin 0 -> 48 bytes
 tests/acpi-test-data/pc/SLIT.memhp  | Bin 0 -> 48 bytes
 tests/acpi-test-data/pc/SRAT.memhp  | Bin 224 -> 264 bytes
 tests/acpi-test-data/q35/SLIT.cphp  | Bin 0 -> 48 bytes
 tests/acpi-test-data/q35/SLIT.memhp | Bin 0 -> 48 bytes
 tests/acpi-test-data/q35/SRAT.memhp | Bin 224 -> 264 bytes
 6 files changed, 0 insertions(+), 0 deletions(-)

Are you able to explain why SRAT.memhp changed, but SRAT.cphp didn't?

> 
> > ---
> >  tests/bios-tables-test.c | 16 ++++++++++++----
> >  1 file changed, 12 insertions(+), 4 deletions(-)
> > 
> > diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
> > index 88dbf97..c593165 100644
> > --- a/tests/bios-tables-test.c
> > +++ b/tests/bios-tables-test.c
> > @@ -710,7 +710,8 @@ static void test_acpi_piix4_tcg_cphp(void)
> >      data.machine = MACHINE_PC;
> >      data.variant = ".cphp";
> >      test_acpi_one("-smp 2,cores=3,sockets=2,maxcpus=6"
> > -                  " -numa node -numa node",
> > +                  " -numa node -numa node"
> > +                  " -numa dist,src=0,dst=1,val=21",
> >                    &data);
> >      free_test_data(&data);
> >  }
> > @@ -723,7 +724,8 @@ static void test_acpi_q35_tcg_cphp(void)
> >      data.machine = MACHINE_Q35;
> >      data.variant = ".cphp";
> >      test_acpi_one(" -smp 2,cores=3,sockets=2,maxcpus=6"
> > -                  " -numa node -numa node",
> > +                  " -numa node -numa node"
> > +                  " -numa dist,src=0,dst=1,val=21",
> >                    &data);
> >      free_test_data(&data);
> >  }
> > @@ -772,7 +774,10 @@ static void test_acpi_q35_tcg_memhp(void)
> >      memset(&data, 0, sizeof(data));
> >      data.machine = MACHINE_Q35;
> >      data.variant = ".memhp";
> > -    test_acpi_one(" -m 128,slots=3,maxmem=1G -numa node", &data);
> > +    test_acpi_one(" -m 128,slots=3,maxmem=1G"
> > +                  " -numa node -numa node"
> > +                  " -numa dist,src=0,dst=1,val=21",
> > +                  &data);
> >      free_test_data(&data);
> >  }
> >  
> > @@ -783,7 +788,10 @@ static void test_acpi_piix4_tcg_memhp(void)
> >      memset(&data, 0, sizeof(data));
> >      data.machine = MACHINE_PC;
> >      data.variant = ".memhp";
> > -    test_acpi_one(" -m 128,slots=3,maxmem=1G -numa node", &data);
> > +    test_acpi_one(" -m 128,slots=3,maxmem=1G"
> > +                  " -numa node -numa node"
> > +                  " -numa dist,src=0,dst=1,val=21",
> > +                  &data);
> >      free_test_data(&data);
> >  }
> >  
> 

-- 
Eduardo

Re: [Qemu-devel] [PATCH] tests: acpi: extend cphp and memhp testcase with numa distance check
Posted by He Chen 6 years, 10 months ago
On Wed, May 03, 2017 at 04:33:04PM -0300, Eduardo Habkost wrote:
> On Wed, May 03, 2017 at 03:07:05PM +0200, Igor Mammedov wrote:
> > On Wed,  3 May 2017 17:17:16 +0800
> > He Chen <he.chen@linux.intel.com> wrote:
> > 
> > > Signed-off-by: He Chen <he.chen@linux.intel.com>
> > Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> 
> Thanks!
> 
> > 
> > Eduardo,
> > 
> > could you take it through your tree as well and
> > add as part of this patch SLIT tables blobs for
> > piix4/q35 that tests/acpi-test-data/rebuild-expected-aml.sh
> > will generate.
> 
> Queued to numa-next, updated SRAT and SLIT blobs. diffstat of commit fixup:
> 
>  tests/acpi-test-data/pc/SLIT.cphp   | Bin 0 -> 48 bytes
>  tests/acpi-test-data/pc/SLIT.memhp  | Bin 0 -> 48 bytes
>  tests/acpi-test-data/pc/SRAT.memhp  | Bin 224 -> 264 bytes
>  tests/acpi-test-data/q35/SLIT.cphp  | Bin 0 -> 48 bytes
>  tests/acpi-test-data/q35/SLIT.memhp | Bin 0 -> 48 bytes
>  tests/acpi-test-data/q35/SRAT.memhp | Bin 224 -> 264 bytes
>  6 files changed, 0 insertions(+), 0 deletions(-)
> 
> Are you able to explain why SRAT.memhp changed, but SRAT.cphp didn't?
> 

ACPI spec says SRAT table is an optional table that provides information
that allows OSPM to associate processors and memory ranges, including
ranges of memory provided by hot-added memory devices, with system
localities proximity domains and clock domains.

I think the reason why SRAT.cphp does not change is that in CPU hotplug
test, the NUMA topology is not changed although the NUMA distance
information is added (distance information is contained in SLIT table
rather than SRAT table).

While for memory hot plug test, we change the NUMA topology (NUMA node
from 1 to 2 nodes.), thus the processors and memory ranges is changed,
which results in SRAT table gets changed.
> > 
> > > ---
> > >  tests/bios-tables-test.c | 16 ++++++++++++----
> > >  1 file changed, 12 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
> > > index 88dbf97..c593165 100644
> > > --- a/tests/bios-tables-test.c
> > > +++ b/tests/bios-tables-test.c
> > > @@ -710,7 +710,8 @@ static void test_acpi_piix4_tcg_cphp(void)
> > >      data.machine = MACHINE_PC;
> > >      data.variant = ".cphp";
> > >      test_acpi_one("-smp 2,cores=3,sockets=2,maxcpus=6"
> > > -                  " -numa node -numa node",
> > > +                  " -numa node -numa node"
> > > +                  " -numa dist,src=0,dst=1,val=21",
> > >                    &data);
> > >      free_test_data(&data);
> > >  }
> > > @@ -723,7 +724,8 @@ static void test_acpi_q35_tcg_cphp(void)
> > >      data.machine = MACHINE_Q35;
> > >      data.variant = ".cphp";
> > >      test_acpi_one(" -smp 2,cores=3,sockets=2,maxcpus=6"
> > > -                  " -numa node -numa node",
> > > +                  " -numa node -numa node"
> > > +                  " -numa dist,src=0,dst=1,val=21",
> > >                    &data);
> > >      free_test_data(&data);
> > >  }
> > > @@ -772,7 +774,10 @@ static void test_acpi_q35_tcg_memhp(void)
> > >      memset(&data, 0, sizeof(data));
> > >      data.machine = MACHINE_Q35;
> > >      data.variant = ".memhp";
> > > -    test_acpi_one(" -m 128,slots=3,maxmem=1G -numa node", &data);
> > > +    test_acpi_one(" -m 128,slots=3,maxmem=1G"
> > > +                  " -numa node -numa node"
> > > +                  " -numa dist,src=0,dst=1,val=21",
> > > +                  &data);
> > >      free_test_data(&data);
> > >  }
> > >  
> > > @@ -783,7 +788,10 @@ static void test_acpi_piix4_tcg_memhp(void)
> > >      memset(&data, 0, sizeof(data));
> > >      data.machine = MACHINE_PC;
> > >      data.variant = ".memhp";
> > > -    test_acpi_one(" -m 128,slots=3,maxmem=1G -numa node", &data);
> > > +    test_acpi_one(" -m 128,slots=3,maxmem=1G"
> > > +                  " -numa node -numa node"
> > > +                  " -numa dist,src=0,dst=1,val=21",
> > > +                  &data);
> > >      free_test_data(&data);
> > >  }
> > >  
> > 
> 
> -- 
> Eduardo
>