LS1043ardb usdpaa-app ipfwd can't quit normally

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1043ardb usdpaa-app ipfwd can't quit normally

1,510 Views
zhoujianyun19
Contributor III

I debug IPFWD app,PC A and PC B send data all the time.Now quit IPFWD app,But can't quit normally.

IPFWD has been stuck.

If force kill IPFWD process.

Start again IPFWD,IPFWD can't  receive data and the following error log will always appear.

Error log is as follows:

root@ls1043amgw:/gateway_app# kill -9 1594
root@ls1043amgw:/gateway_app# [ 7439.338552] qman_retire_fq failed on FQ 0x606, result=0xf2
[ 7439.344033] qman_retire_fq failed on FQ 0x606, result=0xf2
[ 7439.349530] FQID range [1542..1542] (1) had 1 leaks
[ 7439.354431] USDPAA process leaking 76 FQIDs
[ 7439.358613] USDPAA process leaking 3 BPIDs
[ 7439.618580] USDPAA process leaking 4 QPOOLs

[ 7470.713605] Qman ErrInt: Invalid Enqueue State
[ 7470.718038] Qman ErrInt: DCP id 0
[ 7470.721341] Qman ErrInt: ecir.fqid 0x606
[ 7470.725604] Qman ErrInt: Invalid Enqueue State
[ 7470.730037] Qman ErrInt: DCP id 0
[ 7470.733340] Qman ErrInt: ecir.fqid 0x606
root@ls1043amgw:[ 7470.737606] Qman ErrInt: Invalid Enqueue State
[ 7470.743161] Qman ErrInt: DCP id 0
[ 7470.746464] Qman ErrInt: ecir.fqid 0x606
/gateway_app# [ 7470.750406] Qman ErrInt: Invalid Enqueue State
[ 7470.756027] Qman ErrInt: DCP id 0
[ 7470.759330] Qman ErrInt: ecir.fqid 0x606
[ 7470.763248] Qman ErrInt: Invalid Enqueue State
[ 7470.767679] Qman ErrInt: DCP id 0
[ 7470.770982] Qman ErrInt: ecir.fqid 0x606
[ 7470.775210] Qman ErrInt: Invalid Enqueue State
[ 7470.779643] Qman ErrInt: DCP id 0
[ 7470.782946] Qman ErrInt: ecir.fqid 0x606
[ 7470.787210] Qman ErrInt: Invalid Enqueue State
[ 7470.791643] Qman ErrInt: DCP id 0
[ 7470.794946] Qman ErrInt: ecir.fqid 0x606
[ 7470.799211] Qman ErrInt: Invalid Enqueue State
[ 7470.803644] Qman ErrInt: DCP id 0
[ 7470.806947] Qman ErrInt: ecir.fqid 0x606
[ 7470.811214] Qman ErrInt: Invalid Enqueue State
[ 7470.815647] Qman ErrInt: DCP id 0
[ 7470.818950] Qman ErrInt: ecir.fqid 0x606
[ 7470.823214] Qman ErrInt: Invalid Enqueue State
[ 7470.827647] Qman ErrInt: DCP id 0
[ 7470.830950] Qman ErrInt: ecir.fqid 0x606
[ 7470.835215] Qman ErrInt: Invalid Enqueue State
[ 7470.839648] Qman ErrInt: DCP id 0
[ 7470.842951] Qman ErrInt: ecir.fqid 0x606
[ 7470.847217] Qman ErrInt: Invalid Enqueue State
[ 7470.851650] Qman ErrInt: DCP id 0
[ 7470.854952] Qman ErrInt: ecir.fqid 0x606
[ 7470.859218] Qman ErrInt: Invalid Enqueue State
[ 7470.863651] Qman ErrInt: DCP id 0
[ 7470.866954] Qman ErrInt: ecir.fqid 0x606

Labels (1)
Tags (1)
0 Kudos
Reply
2 Replies

1,146 Views
yipingwang
NXP TechSupport
NXP TechSupport

This problem is caused by resource allocation(tracking) mechanism in the current USDPAA application architecture and DPAA driver in Linux Kernel.


USDPAA processes open the /dev/fsl_usdpaa device and perform all resource management through that file descriptor, the kernel device driver can track what resources are allocated and deallocated by those process. When such a process exits (intentionally or otherwise) the file-descriptor is cleaned up and this allows the device driver to check which resources had not been explicitly released by the application. If there are unreleased frame queues, buffer pools, pool channels or congestion groups, the kernel driver will issue leak warnings to the kernel log (and/or the serial console). Such as the following when the USDPAA app exits.
USDPAA process leaking 10 FQIDs
USDPAA process leaking 4 QPOOLs
Leaked resources are not automatically returned to the allocators, because the current drivers do not yet support automatic clean up and recovery of resources that are left in an undefined (and possibly volatile) state.
Even when applications explicitly deallocate resources back to the kernel-managed allocators , there is no protection against applications that fail to first put those resources back into their expected “power-on” states. As such, an exiting application that does not correctly clean up resources pollutes the allocators with resources that will be allocated out to other process, it leads to unexpected results when setting up USDPAA application second time.

In addition, did you use dedicated portal channels in USDPAA? Did you just use the default USDPAA application without any modification?


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

1,146 Views
michaelchen_nsb
Contributor II

hi Yiping,

Does the default UDDPAA application suport ipfwd on LS1043ARDB?

Could you please provide the process of "Using Two Computers to Test the IPFWD Application Suite " on LS1043 step by step

0 Kudos
Reply