This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5726: MPU load with CPSW and PRU Ethernet

Part Number: AM5726

Tool/software: Linux

Hi team,

 Customer make CPSW and PRU Ethernet port to the same bridge, CPSW receive data will interrupt A15, it make too much A15 loading.

Test result:

Iperf TCP at cpsw about 200Mbps and 90Mbps between PRU Ethernet. It’s about 95% CPU loading.

Questions:

Is it possible to use the DMA transfer data between PRU and CPSW with no interruption to A15?

Or does BU have any other suggestion to offload the A15?

Commands:

brctl addbr br0 //建立网桥
brctl addif br0 eth0 //将端口eth0加入网桥
brctl addif br0 eth1
ifconfig br0 up
mstpctl setforcevers br0 rstp //开RSTP协议
ifconfig br0 192.168.13.13 //给网桥分配IP,实际用于访问A15的端口

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl addif br0 eth3
ifconfig br0 up
mstpctl setforcevers br0 rstp
ifconfig br0 192.168.13.14

BR,
Denny

  • Hey Denny,

    Our networking expert is out for a few days, so it will be the middle of next week before we can get you a full reply. Sorry for the delay.
  • Hi,

    To answer one question is that there is not a way to move packets between the interfaces without interrupting the A15. A bridge application will bring the packets up into the kernel network stack.

    The most significant consideration in this example is the difference in bit rates between the PRU and the CPSW, 1Gbps vs 100Mbps. The network traffic is going to regulated by the slowest link speed.

    I need some more information about what the network application is trying to do and the bit rates that need to be achieved per interface. Is the packet size the full MTU size (15122bytes) Is the data primarily flowing from the PRU ports to the CPSW ports? Or the other way around. Is the TI SDK and the pre-built images provided with the SDK being used here?

    Is the application intended here just a bridge or is there another application intended to be run with the bridge?

    Best Regards,
    Schuyler