Solved! Go to Solution.
You are probably hitting the hardware maximum number of DPIOs. In dprc.2 I see 34 DPIOs, that is the default number created by the script. In dprc.1 there are already 16 dpios, each DPIO assigned to a CPU. When the script creates the third dprc it requests for another 34 DPIOs. In total there are 34 + 34 + 16 dpios which exceeds the total number available on LX2 that is 67. Try reducing the number of requested resources, do not run with the default each time you create a new dprc.
Hope this helps,
Platon
Did you try following the scenario described in the LSDK documentation strictly? If so, did it succeed on your board?
There are no known problems with that scenario, moreover, there are known
successful use cases that create as much as eight DPRCs, each DPRC running a
separate application and each application using only one cpu
It is not clear what fails in your case. The console logs you provided display
only error messages but not the commands that cause them to appear. If you wish
more help with respect to this issue, please:
- reproduce the problem with the LSDK-supplied CLI tools.
- provide a console log that displays all commands you issue, along with the system
reaction to them.
Best Regards,
Platon
Thanks for your reply,
I'm following the follow command to startup a DPDK application in DPRCs:
1. cd /usr/local/dpdk/dpaa2/, using the command
./dynamic_dpl.sh dpmac.3
to create dprc.2
2. ./dynamic_dpl.sh dpmac.4
to create dprc.3
3. mount hugepages:
mount -t hugetlbfs none /mnt/hugepages
4. export DRPC=dprc.2
5. using testpmd to start a dpdk application in dprc.2:
testpmd -l 9-13 -- -i
it works fine, and stop the dpdk application.
6. export DPRC=dprc.3
7. using testpmd to start a dpdk application in dprc.3:
testpmd -l 9-13 -- -i
it blocked in MC response, as I using gdb attached the process in previous reply.
the attachment was the console logs which I issue all my operations and got the result.
You are probably hitting the hardware maximum number of DPIOs. In dprc.2 I see 34 DPIOs, that is the default number created by the script. In dprc.1 there are already 16 dpios, each DPIO assigned to a CPU. When the script creates the third dprc it requests for another 34 DPIOs. In total there are 34 + 34 + 16 dpios which exceeds the total number available on LX2 that is 67. Try reducing the number of requested resources, do not run with the default each time you create a new dprc.
Hope this helps,
Platon
thanks, this solved my problem perfectly.
hi,Platon,
Thanks for your reply, it really helped with the problem.
I export the DRIO_COUNT to 16 just before I create the DPRC, and it resolved the issue perfectly.
Thanks very much.