[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