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.

66AK2E05: UDP packet loss due to FDQ or SW

Part Number: 66AK2E05


Hi

okay so i have trying to find an answer to my issue for the last month and a half but to no avail.

My issue is simple i am trying to get 1Gb/s on my Ethernet interface without getting packet loss. now following are my main configs

System: 66ak2e05, PDK 4.0.2, ARM, refernce -PA_EMAC, perfectly running TX/RX of UDP packets up till 200Mb/s

Configs:

  1. ale disabled
  2. accumulator --max # of inputs i.e. 80 at timerload of 10
  3. total # of descriptors 16384
  4. RX descriptors 16300

Now when the number of packets incoming exceed 16300 i start to get packet loss so therefore i can conclude that the number of free descriptors are not able to free themselves in time to be reused.

The issue is resolved in one such way that i use "rx_error_handling" when defining RX flow to 1 but in doing so i get a new form of error in which the number of packets received at the port 1 of switch if lets say are 800 then the number of packets sent from port 0 would be 500ish depending upon what i use as the # of rx descriptors in this part i used 512. e2e.ti.com/.../581707

So finally any help on how to counter this problem would be appreciated !!

regards

Hannan

  • Hi Hannan,

    I've forwarded this to the ethernet experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • hi !!
    i am still waiting for a response !!

    regards
    Hannan
  • Hannan,

    The issue is that the PA EMAC example is only created for packet transmit and receive test, not for performance. We don't have RTOS one demostrate 1Gb/s throughput. There used to be HUA demo for Keystone I EMAC throughput, utilizing the NDK. The HUA demo was discontinued in Processor SDK.

    Regards, Eric
  • hi Eric !!

    I was hoping that we can just work to solve the rx flow handling issue which is most likely from the queue management side and if not then we can look at the FDQ setup, again from the QM side. i understand that there are no working examples of the PA EMAC getting 1Gb/s it is the reason i am trying to find a solution here at the forums.

    let me explain my issue again.... the "rx_error_handling" when set to 1 makes packets drop on switch if set to 0 the packets are dropped cause i am not able to free the FDQ fast enough.

    if this is not achievable please let me know

    regards,
    Hannan
  • Hi,

    I think you may just run the pre-build Linux image on K2E first and use the iperf to measure the UDP throughput where K2E is the iperf server to understand how fast you can receive UDP packet without loss (with four threads and one thread to see if the throughput is bounded by CPU cycle). In your RTOS case, it would be one core/one thtread to handle the packet. If that result is acceptable, then we can look into Linux EMAC driver to understand how the queue setup.

    Regards, Eric