Richard, thanks. Looking at lxc-execute, I see this, which seems to be the key in running the applications created via lxc-create and those run lxc-execute: Note "lxc-execute is intended to run application containers that share the host's root file system, and not to run system containers that you create using lxc-create. Use lxc-start to run system containers."
Anjali On 7/3/14 9:02 AM, "Richardson, Bruce" <bruce.richardson at intel.com> wrote: >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