Multi-core DPDK program

Hi all,

I’m developing a multi-core dpdk program on Bluefield 2. It simply receives packets from a port and sends packets to the other port. I’m using rte_eth_rx_burst() and rte_eth_tx_burst().

I’m following the flow_random sample, where packets get hashed into 8 RSS queues. However, the program only uses 1 ARM core as I checked from htop. Thus, may I ask if there is any way I can create multiple thread/core to improve the performance by taking advantage of all 8 ARM cores ?

I tried pthread() and rte_eal_remote_launch(), but the performance is the same or even gets worse compared to using 1 thread.

Thank you!

1 Like

hi tamtuan96

For multi-core DPDK, you can reference with DPDK performance report chapter 8.1:

Thank you
Meng, Shi

1 Like

Hi, I’m also trying to run custom DPDK applications using rte_eth_rx_burst() and rte_eth_tx_burst()on top of a 2x100Gb BlueField2. Unfortunately, performance is very poor even when using 8 threads, i.e. cores (I am able to see their load by using htop). Also with dpdk-testpmd or DNS_filter DOCA application and the settings/optimizations reported in https://fast.dpdk.org/doc/perf/DPDK_23_11_NVIDIA_NIC_performance_report.pdf, I’m not able to achieve line-rate. Any idea?

1 Like