Do you know if the host's hugepages are mapped into the container? Seeing as containers are meant to provide isolation, it seems to make sense that the host would not automatically share hugepages with a container, but I'm not sure.
Jeff -----Original Message----- From: dev [mailto:dev-boun...@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