How to solve the problem of UDP receiving packet loss in MPSoC 10 Gigabit Ethernet applications?

This article introduces how to enable the RFS (receive flow steering) function in the Linux network protocol stack to optimize the parallel processing capability of MPSoC APU and solve the packet loss problem.

Problem Description:

When testing the performance of the ZCU102 PL 10G Ethernet with MCDMA design, the UDP receiving packet loss rate is very high. The tool used for the test is iperf3.

Testing process:

Board side: open an iperf3 server on core1~3 to receive packets, the command is as follows:

Server side: Use the server connected to zcu102 with optical fiber to send UDP frames, the command is as follows:

Both network cards work in MTU1500 mode, so the data segment length is set to 1472B, and the total bandwidth is temporarily set to 2400M.

The test results are shown in the figure above. The packet loss rate exceeds 10%, so the actual transmission speed cannot reach the set bandwidth. Using the mpstat command to observe the CPU usage, it is found that the soft interrupt usage of CPU0 in the receiving project reaches 93.3% .

solution

Guess you like

Origin blog.csdn.net/qq_43416206/article/details/131315744