Reputation: 125
I installed DPDK on my ubuntu server 18.04 TLS with kernel 5.4.82 and everything worked fine with dpdk_testpmd until a roundtrip upgrade to/downgrade from kernel 5.9. All of sudden it stopped working with error 'EAL: No available 1048576 kB hugepages reported'
even after using hugeadm
to create hugepages. From /proc/meminfo
, HugePage_Free
* HugePageSize
is 1724416 kB which is more than 1048575 kB.
Is there any reason DPDK is not able to see those pages?
/usr/bin/hugeadm --pool-pages-min DEFAULT:2G -vvv
hugeadm:DEBUG: HUGETLB_VERBOSE='5'
hugeadm:INFO: page_size<DEFAULT> adjust<2G> counter<0>
hugeadm:DEBUG: Working with page_size of 2097152
hugeadm:DEBUG: Returning page count of 1024
hugeadm:INFO: 1024, 1024 -> 1024, 1024
hugeadm:INFO: setting HUGEPAGES_TOTAL to 1024
cat /proc/meminfo | grep -i huge
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
FileHugePages: 0 kB
HugePages_Total: 1024
HugePages_Free: 842
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 2097152 kB
./dpdk-testpmd -- --total-num-mbufs=131072
EAL: Detected 40 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available 1048576 kB hugepages reported
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: DPDK is running on a NUMA system, but is compiled without NUMA support.
EAL: This will have adverse consequences for performance and usability.
EAL: Please use --legacy-mem option, or recompile with NUMA support.
..... Removed text about PCIe device probe here .....
EAL: No legacy callbacks, legacy socket not created
testpmd: create a new mbuf pool <mb_pool_0>: n=131072, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
testpmd: create a new mbuf pool <mb_pool_1>: n=131072, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
EAL: Error - exiting with code: 1
Cause: Creation of mbuf pool for socket 1 failed: Cannot allocate memory
Upvotes: 2
Views: 3901
Reputation: 125
I figured out the problem. The system is missing libnuma-dev
, probably was removed by mistake during my previous kernel update. After re-installing libnuma-dev
and recompile DPDK with meson
and ninja
, everything is working fine again.
Upvotes: 4