* [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).