[dpdk-dev] Question on huge pages and running DPDK apps inside containers

Richardson, Bruce bruce.richardson at intel.com
Thu Jul 3 18:02:58 CEST 2014


Can you try deleting the hugepage files on the host before trying to run the app in a container?

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Anjali Kulkarni
> Sent: Thursday, July 03, 2014 7:41 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] Question on huge pages and running DPDK apps inside
> containers
> 
> Hi,
> 
> I am encountering a problem running DPDK apps inside containers, and need
> your help:
> 
> I create containers by doing:
> 
> lxc-create -t ubuntu -n fpc0
> lxc-start -n fpc0
> 
> (Reserve hugepages and follow all other steps to run the DPDK app on host)
> 
> Then run a standard dpdk app, on host, it works fine, inside container, it runs
> into this problem:
> 
> ubuntu at fpc0:/dpdk/x86_64-default-linuxapp-gcc/app$ ./testpmd -c f -n 4 -- -i
> rte_eal_init : 857
> opt : 99
> opt : 110
> EAL: No free hugepages reported in hugepages-2048kB
> PANIC in rte_eal_init():
> Cannot get hugepage information
> 6: [./testpmd() [0x402941]]
> 5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f7f14f50ec5]]
> 4: [./testpmd() [0x40237e]]
> 3: [./testpmd() [0x478edb]]
> 2: [./testpmd() [0x4022ad]]
> 1: [./testpmd() [0x47e3c3]]
> Aborted
> ubuntu at fpc0:/dpdk/x86_64-default-linuxapp-gcc/app$
> 
> However, running this same app on the host, or doing lxc-execute works.
> 
> While trying to debug my own dpdk app, I see that reading the same file for no
> of huge pages (
> 
> /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages
> 
>  ), on the host, its value is read 2048, while inside the container it is 0. This is
> same file.
> Also, if you cat the contents of this file, it is actually 0! (nr_hugepages is 2048,
> but the DPDK code does not read this file.)
> 
> cat /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages
> 0
> 
> 
> In the below logs, the 2 prints "EAL: Using .." and "EAL: path ..." are added by me
> in DPDL eal library.
> 
> On host:
> rte_eal_init : 859
> opt : 99
> opt : 110
> EAL: Using free_hugepages
> EAL: path /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages
> EAL: No of hugepages is 2048
> 
> Inside container:
> pt : 99
> opt : 110
> EAL: Using free_hugepages
> EAL: path /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages
> EAL: No of hugepages is 0
> 
> 
> Has anyone run into this problem and know what's the issue?
> 
> Anjali


More information about the dev mailing list