From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anjali Kulkarni Subject: Question on huge pages and running DPDK apps inside containers Date: Thu, 3 Jul 2014 14:40:38 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: "dev-VfR2kkLFssw@public.gmane.org" Return-path: Content-Language: en-US List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Hi, I am encountering a problem running DPDK apps inside containers, and need y= our 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@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@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 add= ed 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