-1

I am building the Helloworld application in DPDK. I get an error that says No free hugepages reported in hugepages-1048567.

(1) I build the DPDK-18.11 using RTE_TARGET=x86_64-linuxapp-native-gcc.

(2) I run usertools/dpdk-setup.sh, run [15] (build DPDK).

(3) run [22], allocate hugepages. I set 1024 hugepages.

(4) run [18], insert igb_uio module.

(5) run [24], bind my NIC (e1000e) to igb_uio module.

Then, I go to examples/helloworld/, run make to build the app. When I run ./build/app/helloworld -l 0-1 -n 4, I get the following nofication (No free hugepage):

xiarui@wcf-OptiPlex-7060:~/dpdk/dpdk-18.11/examples/helloworld/build/app$ sudo ./helloworld -l 0 -n 4
EAL: Detected 12 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15bb net_e1000_em
hello from core 0

I have already allocated hugepages in the setup script, and get the following output:

AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:    1024
HugePages_Free:     1024
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

Furthermore, I find e1000e cannot bind to VFIO, so I only use igb_uio driver.

Network devices using DPDK-compatible driver
============================================
0000:00:1f.6 'Ethernet Connection (7) I219-LM 15bb' drv=igb_uio unused=e1000e

My host profile is : CPU:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              12
On-line CPU(s) list: 0-11
Thread(s) per core:  2
Core(s) per socket:  6
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               158
Model name:          Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
Stepping:            10
CPU MHz:             800.493
CPU max MHz:         4600.0000
CPU min MHz:         800.0000
BogoMIPS:            6384.00
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            12288K
NUMA node0 CPU(s):   0-11

Memory:

xiarui@wcf-OptiPlex-7060:~/dpdk/dpdk-18.11/examples/helloworld/build/app$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        2.4G        4.4G        159M        809M        4.8G
Swap:          2.0G          0B        2.0G

The things go worse when I run pktgen-3.6.0. I get the following error:

>>> sdk '/home/xiarui/dpdk/dpdk-18.11', target 'x86_64-native-linuxapp-gcc'
   Trying ./app/x86_64-native-linuxapp-gcc/pktgen
sudo -E ./app/x86_64-native-linuxapp-gcc/pktgen -l 0-1 -n 4 --proc-type auto --log-level 7 --file-prefix pg -- -T -P --crc-strip -m 1.0 -f themes/black-yellow.theme

Copyright (c) <2010-2019>, Intel Corporation. All rights reserved. Powered by DPDK
EAL: Detected 12 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Auto-detected process type: PRIMARY
EAL: Multi-process socket /var/run/dpdk/pg/mp_socket
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15bb net_e1000_em
Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio

*** Copyright (c) <2010-2019>, Intel Corporation. All rights reserved.
*** Pktgen created by: Keith Wiles -- >>> Powered by DPDK <<<

Initialize Port 0 -- TxQ 1, RxQ 1,  Src MAC 8c:ec:4b:a5:17:4f

eth_em_start(): Unable to initialize the hardware
!PANIC!: rte_eth_dev_start: port=0, Input/output error
PANIC in pktgen_config_ports():
rte_eth_dev_start: port=0, Input/output error6: [./app/x86_64-native-linuxapp-gcc/pktgen(_start+0x2a) [0x56038a3d29ba]]
5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7fe0b33a3b97]]
4: [./app/x86_64-native-linuxapp-gcc/pktgen(main+0xe52) [0x56038a3ca782]]
3: [./app/x86_64-native-linuxapp-gcc/pktgen(pktgen_config_ports+0x1ef1) [0x56038a403761]]
2: [./app/x86_64-native-linuxapp-gcc/pktgen(__rte_panic+0xc5) [0x56038a3bb544]]
1: [./app/x86_64-native-linuxapp-gcc/pktgen(rte_dump_stack+0x2e) [0x56038a4f5f4e]]

Could you share me some idea? Thank you for your time.

4

2 回答 2

2
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15bb net_e1000_em
hello from core 0

没有免费的 1GB 巨页不是错误,它只是一个信息。

你得到了hello from core 0输出,所以你的 hello world 应用程序工作得很好,恭喜!

于 2019-01-08T20:12:11.117 回答
-1

我跑testpmd进去了usertools/dpdk-setup.sh,情况很糟糕。我收到以下错误:

Launching app
EAL: Detected 12 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15bb net_e1000_em
Interactive-mode selected
testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=203456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
EAL: Error - exiting with code: 1
  Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory

我猜该应用程序似乎无法从大页面分配内存。

感谢您的时间。

编辑

我想我太刻薄了hugepage allocation。所以我尝试分配2000*2MB大页面。然后,一切正常。

bitmask: 0x0f
Launching app
EAL: Detected 12 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15bb net_e1000_em
testpmd: No probed ethernet devices
Interactive-mode selected
testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=171456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
Done
testpmd>

我发现在我的 VBox 中,我只有两个 lcore,我只分配了 128 个大页面,一切正常。但是,当我使用具有 12 个 lcores 的桌面时,128 个大页面是不够的。

你能分享一些分配大页面的原则吗?或者只是越多越好。感谢您分享您的想法。

于 2019-01-09T04:30:07.037 回答