Problem with MBUF pool allocation
Hi,
I'm seeing an error reported by the DPDK EAL when allocating the MBUF pools.
The error is:
"MBUF: error setting mempool handler"
I have a multi-node NUMA system and I get the exact same error when trying to allocate the memory from the different nodes.
The bootstrap parameters I use to reserve huge-pages are:
"default_hugepagesz=1G hugepagesz=1G hugepages=32"
If I check the available huge-pages in my systems they look Ok (see below).
fromm:~/:[130]# cat /proc/meminfo MemTotal: 263470432 kB MemFree: 228408660 kB MemAvailable: 227792692 kB Buffers: 2148 kB Cached: 229132 kB SwapCached: 0 kB Active: 113424 kB Inactive: 150148 kB Active(anon): 33508 kB Inactive(anon): 1912 kB Active(file): 79916 kB Inactive(file): 148236 kB Unevictable: 80 kB Mlocked: 80 kB SwapTotal: 2104316 kB SwapFree: 2104316 kB Dirty: 624 kB Writeback: 0 kB AnonPages: 33216 kB Mapped: 60232 kB Shmem: 2388 kB Slab: 185240 kB SReclaimable: 46320 kB SUnreclaim: 138920 kB KernelStack: 22592 kB PageTables: 3000 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 117062316 kB Committed_AS: 241992 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB HardwareCorrupted: 0 kB HugePages_Total: 32 HugePages_Free: 32 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 1048576 kB DirectMap4k: 317756 kB DirectMap2M: 11014144 kB DirectMap1G: 258998272 kB
Any idea / help would be much appreciated.
Thanks,
Marco
Quoted 14 lines · Marco Varlese
Hi,
I'm seeing an error reported by the DPDK EAL when allocating the MBUF pools.The error is:
"MBUF: error setting mempool handler"I have a multi-node NUMA system and I get the exact same error when trying to allocate the memory from the different nodes.
The bootstrap parameters I use to reserve huge-pages are:
"default_hugepagesz=1G hugepagesz=1G hugepages=32"If I check the available huge-pages in my systems they look Ok (see below).
fromm:~/:[130]# cat /proc/meminfo
<snip>
Quoted 7 lines
Any idea / help would be much appreciated.
Thanks,
Marco
Hi Marco,
in recent releases the mempools are now based on different mempool drivers, rather than just being a single mempool library. So if this is a shared library build, you may need to pass in "-d /path/to/driver" parameter to make sure the default mempool driver is picked up by the EAL.
Regards,
/Bruce