[dpdk-users] Run testpmd application and encountered no free page issues

Shreyansh Jain shreyansh.jain at nxp.com
Mon Jun 19 10:39:13 CEST 2017


Hello Paul,

The error happens when testpmd application tries to acquire enough memory from the hugepages.
Only suggestion is to provide a little more memory (for example, 1g to start with) and see if that changes your situation.

How much memory can you spare for hugepages? Or, how much have you already spared?
Can you dump output of 'cat /proc/meminfo' (assuming Linux)?

I don't have any other suggestions beyond this.

-
Shreyansh

From: Paul Tsvika [mailto:mozloverinweb at gmail.com] 
Sent: Monday, June 19, 2017 11:38 AM
To: Shreyansh Jain <shreyansh.jain at nxp.com>
Cc: users at dpdk.org
Subject: Re: [dpdk-users] Run testpmd application and encountered no free page issues

Hi Shreyansh,


Thanks for the reply.

I tried to increase the number from 64 to 230. And the number of 460 is larger than 442.

However, the error message is the same.

Is there anything I can check here ?


Thanks



Paul

2017-06-19 13:49 GMT+08:00 Shreyansh Jain <mailto:shreyansh.jain at nxp.com>:
Hello Paul,

Some comments inline:

> -----Original Message-----
> From: users [mailto:mailto:users-bounces at dpdk.org] On Behalf Of Paul Tsvika
> Sent: Saturday, June 17, 2017 9:17 PM
> To: mailto:users at dpdk.org
> Subject: Re: [dpdk-users] Run testpmd application and encountered no free
> page issues
>
> Anyone,
>
> or my question is not clear enough ?
>
>
>
> Thanks
>
>
>
>
> Paul
>
> 2017-06-16 18:20 GMT+08:00 Paul Tsvika <mailto:mozloverinweb at gmail.com>:
>
> > Hi,
> >
> > I have one board with two 10G etherent on it. ( and two 1G ethernet as
> > well )
> >
> > Below is my working environment:
> >
> > OS: Ubuntu 16.04
> > 10G Ethernet controller: X552/X557-AT 10GBASE-T
> > Ethernet driver: ixgbe - 4.2.1-k
> > dpdk version: 17.02.1
> >
> > In order to avoid doing configuration incorrectly, i run the dpdk-setup.sh
> > in the directory usertools.
> >
> > Press enter to continue ...
> > ----------------------------------------------------------
> >  Step 1: Select the DPDK environment to build
> > ----------------------------------------------------------
> > [1] arm64-armv8a-linuxapp-gcc
> > [2] arm64-dpaa2-linuxapp-gcc
> > [3] arm64-thunderx-linuxapp-gcc
> > [4] arm64-xgene1-linuxapp-gcc
> > [5] arm-armv7a-linuxapp-gcc
> > [6] i686-native-linuxapp-gcc
> > [7] i686-native-linuxapp-icc
> > [8] ppc_64-power8-linuxapp-gcc
> > [9] tile-tilegx-linuxapp-gcc
> > [10] x86_64-native-bsdapp-clang
> > [11] x86_64-native-bsdapp-gcc
> > [12] x86_64-native-linuxapp-clang
> > [13] x86_64-native-linuxapp-gcc
> > [14] x86_64-native-linuxapp-icc
> > [15] x86_x32-native-linuxapp-gcc
> >
> > ----------------------------------------------------------
> >  Step 2: Setup linuxapp environment
> > ----------------------------------------------------------
> > [16] Insert IGB UIO module
> > [17] Insert VFIO module
> > [18] Insert KNI module
> > [19] Setup hugepage mappings for non-NUMA systems
> > [20] Setup hugepage mappings for NUMA systems
> > [21] Display current Ethernet/Crypto device settings
> > [22] Bind Ethernet/Crypto device to IGB UIO module
> > [23] Bind Ethernet/Crypto device to VFIO module
> > [24] Setup VFIO permissions
> >
> > ----------------------------------------------------------
> >  Step 3: Run test application for linuxapp environment
> > ----------------------------------------------------------
> > [25] Run test application ($RTE_TARGET/app/test)
> > [26] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd)
> >
> > ----------------------------------------------------------
> >  Step 4: Other tools
> > ----------------------------------------------------------
> > [27] List hugepage info from /proc/meminfo
> >
> > ----------------------------------------------------------
> >  Step 5: Uninstall and system cleanup
> > ----------------------------------------------------------
> > [28] Unbind devices from IGB UIO or VFIO driver
> > [29] Remove IGB UIO module
> > [30] Remove VFIO module
> > [31] Remove KNI module
> > [32] Remove hugepage mappings
> >
> > [33] Exit Script
> >
> > *Option: 19*
> >
> > Removing currently reserved hugepages
> > Unmounting /mnt/huge and removing directory
> >
> >   Input the number of 2048kB hugepages
> >   Example: to have 128MB of hugepages available in a 2MB huge page system,
> >   enter '64' to reserve 64 * 2MB pages
> > Number of pages: 64
> > Reserving hugepages
> > Creating /mnt/huge and mounting as hugetlbfs

Essentially you are trying to reserve 64x2M = 128M memory. Did you try increasing it?

> >
> > Press enter to continue ...
> > ----------------------------------------------------------
> >  Step 1: Select the DPDK environment to build
> > ----------------------------------------------------------
> > [1] arm64-armv8a-linuxapp-gcc
> > [2] arm64-dpaa2-linuxapp-gcc
> > [3] arm64-thunderx-linuxapp-gcc
> > [4] arm64-xgene1-linuxapp-gcc
> > [5] arm-armv7a-linuxapp-gcc
> > [6] i686-native-linuxapp-gcc
> > [7] i686-native-linuxapp-icc
> > [8] ppc_64-power8-linuxapp-gcc
> > [9] tile-tilegx-linuxapp-gcc
> > [10] x86_64-native-bsdapp-clang
> > [11] x86_64-native-bsdapp-gcc
> > [12] x86_64-native-linuxapp-clang
> > [13] x86_64-native-linuxapp-gcc
> > [14] x86_64-native-linuxapp-icc
> > [15] x86_x32-native-linuxapp-gcc
> >
> > ----------------------------------------------------------
> >  Step 2: Setup linuxapp environment
> > ----------------------------------------------------------
> > [16] Insert IGB UIO module
> > [17] Insert VFIO module
> > [18] Insert KNI module
> > [19] Setup hugepage mappings for non-NUMA systems
> > [20] Setup hugepage mappings for NUMA systems
> > [21] Display current Ethernet/Crypto device settings
> > [22] Bind Ethernet/Crypto device to IGB UIO module
> > [23] Bind Ethernet/Crypto device to VFIO module
> > [24] Setup VFIO permissions
> >
> > ----------------------------------------------------------
> >  Step 3: Run test application for linuxapp environment
> > ----------------------------------------------------------
> > [25] Run test application ($RTE_TARGET/app/test)
> > [26] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd)
> >
> > ----------------------------------------------------------
> >  Step 4: Other tools
> > ----------------------------------------------------------
> > [27] List hugepage info from /proc/meminfo
> >
> > ----------------------------------------------------------
> >  Step 5: Uninstall and system cleanup
> > ----------------------------------------------------------
> > [28] Unbind devices from IGB UIO or VFIO driver
> > [29] Remove IGB UIO module
> > [30] Remove VFIO module
> > [31] Remove KNI module
> > [32] Remove hugepage mappings
> >
> > [33] Exit Script
> >
> > *Option: 26*
> >
> >
> >   Enter hex bitmask of cores to execute testpmd app on
> >   Example: to execute app on cores 0 to 7, enter 0xff
> > bitmask: 0xff
> > Launching app
> > EAL: Detected 16 lcore(s)
> > EAL: No free hugepages reported in hugepages-1048576kB
> > EAL: Probing VFIO support...
> > EAL: PCI device 0000:03:00.0 on NUMA socket 0
> > EAL:   probe driver: 8086:15ad net_ixgbe
> > EAL: PCI device 0000:03:00.1 on NUMA socket 0
> > EAL:   probe driver: 8086:15ad net_ixgbe
> > EAL: PCI device 0000:05:00.0 on NUMA socket 0
> > EAL:   probe driver: 8086:1521 net_e1000_igb
> > EAL: PCI device 0000:05:00.1 on NUMA socket 0
> > EAL:   probe driver: 8086:1521 net_e1000_igb
> > EAL: No probed ethernet devices
> > Interactive-mode selected
> > USER1: create a new mbuf pool <mbuf_pool_socket_0>: n=203456, size=2176,
> > socket=0

Testpmd is trying to allocate 203456*2176 bytes ~ 442MB.
Can you try with memory more than this number?
Or, try with 'total-num-mbufs=<>' passed to testpmd.

> > EAL: Error - exiting with code: 1
> >   Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory
> >
> >
> > Is there anything I might not do right ?
> >
> > Your reply is appreciated.
> >
> >
> >
> > Paul
> >
> > --
> > P.T
> >
>
>
>
> --
> P.T




-- 
P.T


More information about the users mailing list