test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage machine
@ 2016-09-21  5:28 xu,huilong
  2016-09-29  6:48 ` Liu, Yong
  0 siblings, 1 reply; 4+ messages in thread
From: xu,huilong @ 2016-09-21  5:28 UTC (permalink / raw)
  To: dts; +Cc: xu,huilong

Signed-off-by: xu,huilong <huilongx.xu@intel.com>
---
 tests/TestSuite_unit_tests_lpm.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/tests/TestSuite_unit_tests_lpm.py b/tests/TestSuite_unit_tests_lpm.py
index dadb492..7394d19 100644
--- a/tests/TestSuite_unit_tests_lpm.py
+++ b/tests/TestSuite_unit_tests_lpm.py
@@ -83,11 +83,16 @@ class TestUnitTestsLpmIpv6(TestCase):
         """
         [arch, machine, env, toolchain] = self.target.split('-')
         self.verify(arch == "x86_64", "lpm6 request huge memory")
-
-        hugepage_ori = self.dut.get_total_huge_pages()
-        self.dut.set_huge_pages(4096)
-        hugepage_num = self.dut.get_total_huge_pages()
-        self.verify(hugepage_num >= 4096, "failed to request huge memory")
+        # lpm ipv6 should leaest 8g huge page
+        min_hugepagesz = 8 * 1024 * 1024
+ 
+        hugepage_ori = int(self.dut.get_total_huge_pages())
+        hugepages_size = int(self.dut.send_expect("awk '/Hugepagesize/ {print $2}' /proc/meminfo", "# "))
+
+        if (hugepages_size * hugepage_ori < min_hugepagesz):
+            self.dut.set_huge_pages(min_hugepagesz / hugepages_size)
+            hugepage_num = self.dut.get_total_huge_pages()
+            self.verify(hugepage_num == min_hugepagesz / hugepages_size, "failed to request huge memory")
 
         self.dut.send_expect("./app/test/test -n 1 -c ffff", "R.*T.*E.*>.*>", 60)
         out = self.dut.send_expect("lpm6_autotest", "RTE>>", 3600)
-- 
1.9.3

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage machine
  2016-09-21  5:28 [dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage machine xu,huilong
@ 2016-09-29  6:48 ` Liu, Yong
  2016-09-29  7:20   ` Xu, HuilongX
  0 siblings, 1 reply; 4+ messages in thread
From: Liu, Yong @ 2016-09-29  6:48 UTC (permalink / raw)
  To: xu,huilong, dts



On 09/21/2016 01:28 PM, xu,huilong wrote:
> Signed-off-by: xu,huilong <huilongx.xu@intel.com>
> ---
>   tests/TestSuite_unit_tests_lpm.py | 15 ++++++++++-----
>   1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/tests/TestSuite_unit_tests_lpm.py b/tests/TestSuite_unit_tests_lpm.py
> index dadb492..7394d19 100644
> --- a/tests/TestSuite_unit_tests_lpm.py
> +++ b/tests/TestSuite_unit_tests_lpm.py
> @@ -83,11 +83,16 @@ class TestUnitTestsLpmIpv6(TestCase):
>           """
>           [arch, machine, env, toolchain] = self.target.split('-')
>           self.verify(arch == "x86_64", "lpm6 request huge memory")
> -
> -        hugepage_ori = self.dut.get_total_huge_pages()
> -        self.dut.set_huge_pages(4096)
> -        hugepage_num = self.dut.get_total_huge_pages()
> -        self.verify(hugepage_num >= 4096, "failed to request huge memory")
> +        # lpm ipv6 should leaest 8g huge page
> +        min_hugepagesz = 8 * 1024 * 1024
> +
> +        hugepage_ori = int(self.dut.get_total_huge_pages())
> +        hugepages_size = int(self.dut.send_expect("awk '/Hugepagesize/ {print $2}' /proc/meminfo", "# "))
> +
This command can't work on FreeBSD. Again, it's better to let framework 
handle huge allocation/destroy.
It's hard to each suite handle the difference for distributions.

> +        if (hugepages_size * hugepage_ori < min_hugepagesz):
> +            self.dut.set_huge_pages(min_hugepagesz / hugepages_size)
> +            hugepage_num = self.dut.get_total_huge_pages()
> +            self.verify(hugepage_num == min_hugepagesz / hugepages_size, "failed to request huge memory")
>   
>           self.dut.send_expect("./app/test/test -n 1 -c ffff", "R.*T.*E.*>.*>", 60)
>           out = self.dut.send_expect("lpm6_autotest", "RTE>>", 3600)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage machine
  2016-09-29  6:48 ` Liu, Yong
@ 2016-09-29  7:20   ` Xu, HuilongX
  2016-09-29  8:36     ` Liu, Yong
  0 siblings, 1 reply; 4+ messages in thread
From: Xu, HuilongX @ 2016-09-29  7:20 UTC (permalink / raw)
  To: Liu, Yong, dts

Yes,
Set hugepage will failed in FreeBSD, but not influence the case exec in FreeBSD.
I think maybe we can rework hugepage config on dts framework next time.
Thanks a  lot  

> -----Original Message-----
> From: Liu, Yong
> Sent: Thursday, September 29, 2016 2:49 PM
> To: Xu, HuilongX; dts@dpdk.org
> Subject: Re: [dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage
> machine
> 
> 
> 
> On 09/21/2016 01:28 PM, xu,huilong wrote:
> > Signed-off-by: xu,huilong <huilongx.xu@intel.com>
> > ---
> >   tests/TestSuite_unit_tests_lpm.py | 15 ++++++++++-----
> >   1 file changed, 10 insertions(+), 5 deletions(-)
> >
> > diff --git a/tests/TestSuite_unit_tests_lpm.py
> b/tests/TestSuite_unit_tests_lpm.py
> > index dadb492..7394d19 100644
> > --- a/tests/TestSuite_unit_tests_lpm.py
> > +++ b/tests/TestSuite_unit_tests_lpm.py
> > @@ -83,11 +83,16 @@ class TestUnitTestsLpmIpv6(TestCase):
> >           """
> >           [arch, machine, env, toolchain] = self.target.split('-')
> >           self.verify(arch == "x86_64", "lpm6 request huge memory")
> > -
> > -        hugepage_ori = self.dut.get_total_huge_pages()
> > -        self.dut.set_huge_pages(4096)
> > -        hugepage_num = self.dut.get_total_huge_pages()
> > -        self.verify(hugepage_num >= 4096, "failed to request huge
> memory")
> > +        # lpm ipv6 should leaest 8g huge page
> > +        min_hugepagesz = 8 * 1024 * 1024
> > +
> > +        hugepage_ori = int(self.dut.get_total_huge_pages())
> > +        hugepages_size = int(self.dut.send_expect("awk
> '/Hugepagesize/ {print $2}' /proc/meminfo", "# "))
> > +
> This command can't work on FreeBSD. Again, it's better to let framework
> handle huge allocation/destroy.
> It's hard to each suite handle the difference for distributions.
> 
> > +        if (hugepages_size * hugepage_ori < min_hugepagesz):
> > +            self.dut.set_huge_pages(min_hugepagesz / hugepages_size)
> > +            hugepage_num = self.dut.get_total_huge_pages()
> > +            self.verify(hugepage_num == min_hugepagesz /
> hugepages_size, "failed to request huge memory")
> >
> >           self.dut.send_expect("./app/test/test -n 1 -c ffff",
> "R.*T.*E.*>.*>", 60)
> >           out = self.dut.send_expect("lpm6_autotest", "RTE>>", 3600)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage machine
  2016-09-29  7:20   ` Xu, HuilongX
@ 2016-09-29  8:36     ` Liu, Yong
  0 siblings, 0 replies; 4+ messages in thread
From: Liu, Yong @ 2016-09-29  8:36 UTC (permalink / raw)
  To: Xu, HuilongX, dts

Huilong, case execution should be blocked. You can skip hugepage operation based on gang's patch which has been merged.

> -----Original Message-----
> From: Xu, HuilongX
> Sent: Thursday, September 29, 2016 3:20 PM
> To: Liu, Yong; dts@dpdk.org
> Subject: RE: [dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage
> machine
> 
> Yes,
> Set hugepage will failed in FreeBSD, but not influence the case exec in
> FreeBSD.
> I think maybe we can rework hugepage config on dts framework next time.
> Thanks a  lot
> 
> > -----Original Message-----
> > From: Liu, Yong
> > Sent: Thursday, September 29, 2016 2:49 PM
> > To: Xu, HuilongX; dts@dpdk.org
> > Subject: Re: [dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage
> > machine
> >
> >
> >
> > On 09/21/2016 01:28 PM, xu,huilong wrote:
> > > Signed-off-by: xu,huilong <huilongx.xu@intel.com>
> > > ---
> > >   tests/TestSuite_unit_tests_lpm.py | 15 ++++++++++-----
> > >   1 file changed, 10 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/tests/TestSuite_unit_tests_lpm.py
> > b/tests/TestSuite_unit_tests_lpm.py
> > > index dadb492..7394d19 100644
> > > --- a/tests/TestSuite_unit_tests_lpm.py
> > > +++ b/tests/TestSuite_unit_tests_lpm.py
> > > @@ -83,11 +83,16 @@ class TestUnitTestsLpmIpv6(TestCase):
> > >           """
> > >           [arch, machine, env, toolchain] = self.target.split('-')
> > >           self.verify(arch == "x86_64", "lpm6 request huge memory")
> > > -
> > > -        hugepage_ori = self.dut.get_total_huge_pages()
> > > -        self.dut.set_huge_pages(4096)
> > > -        hugepage_num = self.dut.get_total_huge_pages()
> > > -        self.verify(hugepage_num >= 4096, "failed to request huge
> > memory")
> > > +        # lpm ipv6 should leaest 8g huge page
> > > +        min_hugepagesz = 8 * 1024 * 1024
> > > +
> > > +        hugepage_ori = int(self.dut.get_total_huge_pages())
> > > +        hugepages_size = int(self.dut.send_expect("awk
> > '/Hugepagesize/ {print $2}' /proc/meminfo", "# "))
> > > +

Convert messy string into integer will raise exception, case execution will be blocked here.

> > This command can't work on FreeBSD. Again, it's better to let framework
> > handle huge allocation/destroy.
> > It's hard to each suite handle the difference for distributions.
> >
> > > +        if (hugepages_size * hugepage_ori < min_hugepagesz):
> > > +            self.dut.set_huge_pages(min_hugepagesz / hugepages_size)
> > > +            hugepage_num = self.dut.get_total_huge_pages()
> > > +            self.verify(hugepage_num == min_hugepagesz /
> > hugepages_size, "failed to request huge memory")
> > >
> > >           self.dut.send_expect("./app/test/test -n 1 -c ffff",
> > "R.*T.*E.*>.*>", 60)
> > >           out = self.dut.send_expect("lpm6_autotest", "RTE>>", 3600)

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-09-29  8:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-21  5:28 [dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage machine xu,huilong
2016-09-29  6:48 ` Liu, Yong
2016-09-29  7:20   ` Xu, HuilongX
2016-09-29  8:36     ` Liu, Yong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).