[dts] [PATCH V1] fix lpm ipv6 unit case on 1G hugepage machine

Liu, Yong yong.liu at intel.com
Thu Sep 29 10:36:18 CEST 2016


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 at 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 at 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 at 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)



More information about the dts mailing list