-
Notifications
You must be signed in to change notification settings - Fork 645
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
DPDK initialization freezes if dpdk_corelist does not contain 0 #552
Comments
Looking at your reproducing case, it looks like the problem is slightly different than you describe. I have been using DPDK versions 18.11, 19.11, and 20.11 all without core 0 assigned to dpdk_corelist without any problems. The bigger issue is that the cores specified in the dpdk_lcore for each adapter are not on the dpdk_corelist. The dpdk_corelist should include one core for the base DPDK functionality to run on followed by all the cores assigned to the individual adapters in their dpdk_lcore value. You should be able to confirm that is the problem by changing the dpdk_lcore values on the adapters to 4 and 5 to match the second and third entries in the dpdk_corelist. The freezing behavior does seem bad and it would be ideal to check for the problem and properly notify the user. |
Issue Description
When using DPDK, initialization freezes if
dpdk_corelist
does not contain lcore 0.The program does not give any information about the cause of the problem.
Setup Details
The problem occurs both with the UHD version 4.0.0 (using DPDK 18.11), and with the current state from the git-repository (UHD_4.2.0.git-209-gf23ab721) using DPDK 21.11.
I am using a Mellanox Technologies MCX512A-ACAT to which the USRP X310 is connected with two 10G Ethenet links.
Other DPDK applications also run on this setup without problems.
Expected Behavior
I expect at least a warning that uhd-dpdk will not work if it does not have lcore 0 available.
The cleaner solution is of course to adapt the program to run on any lcore. This simplifies the integration into an existing system significantly.
Actual Behaviour
The program just freezes during initialization without giving any hint to the problem.
When
dpdk_corelist
is set to0,1,2
, the problem disappears.Without DPDK, so if I omit the argument
use_dpdk=1
, it also works fine.Steps to reproduce the problem
Using the following uhd.conf file:
Test the connection using the benchmark_rate tool:
Additional Information
I first seeked advise on the mailing list, but after a long time of trial and error I found the issue described here.
The text was updated successfully, but these errors were encountered: