Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UHD 4.7 DPDK 24.11 RX mbuf alloc failed queue_id=0 #827

Closed
eng3 opened this issue Jan 7, 2025 · 1 comment
Closed

UHD 4.7 DPDK 24.11 RX mbuf alloc failed queue_id=0 #827

eng3 opened this issue Jan 7, 2025 · 1 comment

Comments

@eng3
Copy link

eng3 commented Jan 7, 2025

Issue Description

The following error is received:

IXGBE_INIT: ixgbe_alloc_rx_queue_mbufs(): RX mbuf alloc failed queue_id=0
IXGBE_INIT: ixgbe_dev_rx_queue_start(): Could not alloc mbuf for queue:0
IXGBE_INIT: ixgbe_dev_start(): Unable to start rxtx queues
IXGBE_INIT: ixgbe_dev_start(): failure in ixgbe_dev_start(): -1

Setup Details

N320 FPGA:XG, 1G to ethernet, 2x10G to QSFP+. Ubuntu 24.04, UHD_4.7.0.0-210-ge75629c3 , DPDK_24.11

Expected Behavior

No error

Steps to reproduce the problem

# /usr/local/lib/uhd/examples/benchmark_rate --rx_rate 250e6 --rx_subdev "A:0 B:0" --rx_channels 0,1 --tx_rate 250e6 --tx_subdev "A:0 B:0" --tx_channels 0,1 --args "addr=192.168.30.2,second_addr=192.168.40.2,mgmt_addr=X.X.X.X,master_clock_rate=250e6,use_dpdk=1"

Actual Behaviour

[INFO] [UHD] linux; GNU C++ version 13.3.0; Boost_108300; DPDK_24.11; UHD_4.7.0.0-210-ge75629c3
EAL: Detected CPU lcores: 8
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: VFIO support initialized
EAL: Using IOMMU type 1 (Type 1)
IXGBE_INIT: ixgbe_alloc_rx_queue_mbufs(): RX mbuf alloc failed queue_id=0
IXGBE_INIT: ixgbe_dev_rx_queue_start(): Could not alloc mbuf for queue:0
IXGBE_INIT: ixgbe_dev_start(): Unable to start rxtx queues
IXGBE_INIT: ixgbe_dev_start(): failure in ixgbe_dev_start(): -1
[ERROR] [DPDK] Port 1: Could not start device
EAL: already called initialization.
[ERROR] [UHD] Device discovery error: RuntimeError: DPDK: Failure to start device
[ERROR] [DPDK] Error with EAL initialization
[ERROR] [X300] X300 Network discovery error RuntimeError: Error with EAL initialization
[00:00:00.000617] Creating the usrp device with: addr=192.168.30.2,second_addr=192.168.40.2,mgmt_addr=129.218.156.110,master_clock_rate=250e6,use_dpdk=1...
EAL: already called initialization.
[ERROR] [DPDK] Error with EAL initialization
[ERROR] [UHD] Device discovery error: RuntimeError: Error with EAL initialization
EAL: already called initialization.
[ERROR] [DPDK] Error with EAL initialization
[ERROR] [X300] X300 Network discovery error RuntimeError: Error with EAL initialization
Error: LookupError: KeyError: No devices found for ----->
Device Address:
addr: 192.168.30.2
second_addr: 192.168.40.2
mgmt_addr: x.x.x.x
master_clock_rate: 250e6
use_dpdk: 1

EAL: Error disabling MSI-X interrupts for fd 32  (this message doesnt always appear depending which version of UHD/DPDK I try)

Additional Information

# dpdk-devbind --status
Network devices using DPDK-compatible driver
============================================
0000:04:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' drv=vfio-pci unused=
0000:04:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' drv=vfio-pci unused=

Hugepages seems to be setup:

# dpdk-hugepages.py --show
Node Pages Size Total
0 2048 2Mb 4Gb

Huge page filesystems mounted at: /dev/hugepages

# cat /proc/meminfo | grep Huge
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
FileHugePages: 0 kB
HugePages_Total: 2048
HugePages_Free: 2046
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 4194304 kB

I also tried 1G hugepages

uhd.conf

[use_dpdk=1]
dpdk_mtu=9000
dpdk_driver=/usr/local/lib/x86_64-linux-gnu/dpdk/pmds-25.0/
dpdk_corelist=2,3,4
dpdk_num_mbufs=4095
dpdk_mbuf_cache_size=315

[dpdk_mac=e8:ea:6a:06:34:58]
dpdk_lcore = 3
dpdk_ipv4 = 192.168.30.1/24
dpdk_num_desc = 4096

[dpdk_mac=e8:ea:6a:06:34:59]
dpdk_lcore = 4
dpdk_ipv4 = 192.168.40.1/24
dpdk_num_desc = 4096
@eng3 eng3 changed the title UHD 4.7 DPDK 24.11 error _M_range_check UHD 4.7 DPDK 24.11 RX mbuf alloc failed queue_id=0 Jan 8, 2025
@eng3
Copy link
Author

eng3 commented Jan 8, 2025

I was using the example which had:
dpdk_num_mbufs=4095
dpdk_mbuf_cache_size=315

When I set them to something that was a power of 2 4096/512, it seemed to resolve the error

@eng3 eng3 closed this as completed Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant