dpdksuricata

what does "EAL: No available hugepages reported in hugepages-1048576kB" mean in dpdk?


I'm new to DPDK, and I'm installing a DPDK version of suricata on the server. When I run suricata --list-dpdkports, it shows

EAL: Detected 128 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /tmp/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: Couldn't get fd on hugepage file
EAL: error allocating rte services array
EAL: FATAL: rte_service_init() failed
EAL: rte_service_init() failed
5/11/2020 -- 21:41:45 - <Error> - [ERRCODE: SC_ERR_DPDK_CONFIG(319)] -  DPDK init failed

What does EAL: No available hugepages reported in hugepages-1048576kB mean? No matter how many hugepages I set, it always show that.

AnonHugePages:    104448 kB
HugePages_Total:    8192
HugePages_Free:     8191
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

I'm new to DPDK, and most of the solutions I found online is about No Free hugepages reported. I really wanna know what it means. Thank you for your help.


Solution

  • @Ericsun the log EAL: No available hugepages reported in hugepages-1048576kB is normal as your huge page is 2048 kB. DPDK on x86 can use both 2MB or 1GB huge page. In function rte_eal_init both are probed. In your current setup, 1GB is not found. Hence rte_eal_init logs the same.

    your error is

    EAL: Couldn't get fd on hugepage file
    EAL: error allocating rte services array
    EAL: FATAL: rte_service_init() failed
    

    Use sudo for elevating privellege and accessing hugepage via mmap.