I am setting up OVS inside a Linux container. This OVS is built using DPDK library. During the startup of ovs-vswitchd, it core dumped due to fail to mmap. in eal_memory.c virtaddr = mmap(vma_addr, hugepage_sz, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
This call is made inside a for loop that loops through all the pages and mmap them. My server has two cores, and I allocated 8192 2MB pages. The mmap for the first 4096 pages were successful. It failed when trying to map 4096th page. Can someone help me understand when the mmap for the first 4096 pages were successful and it failed on 4096th page? John ovs-vswitchd --dpdk -c 0x1 -n 4 -l 1 --file-prefix ct0000- --socket-mem 128,128 -- unix:$DB_SOCK --pidfile --detach --log-file=ct.log EAL: Detected lcore 23 as core 5 on socket 1 EAL: Support maximum 128 logical core(s) by configuration. EAL: Detected 24 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB EAL: VFIO modules not all loaded, skip VFIO support... EAL: Setting up physically contiguous memory... EAL: map_all_hugepages(): mmap failed: Cannot allocate memory EAL: Failed to mmap 2 MB hugepages PANIC in rte_eal_init(): Cannot init memory 7: [ovs-vswitchd() [0x411f15]] 6: [/lib64/libc.so.6(__libc_start_main+0xf5) [0x7ff5f6133b15]] 5: [ovs-vswitchd() [0x4106f9]] 4: [ovs-vswitchd() [0x66917d]] 3: [ovs-vswitchd() [0x42b6f5]] 2: [ovs-vswitchd() [0x40dd8c]] 1: [ovs-vswitchd() [0x56b3ba]] Aborted (core dumped)