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.

EVMK2H Ethernet packets receive perfomance

Hi All!

We have EVMK2H board with running out-of-box Linux kernel 3.8.4

With using Packet Generator feature in linux kernel I have found
that network perfomance on send/receive packets is only about 35 megabytes/sec.

So my questions are -

* Is that normal receive speed for this board?
* How can we increase it? We need to achieve as maximum as possible receive speed on single network interface.
* Do we need to use extra instances (such as netcp library or packet accelerator) to do that?

  • Hi Anton,
    Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com).
    We will get back to you on the posted query shortly. Thank you.
  • Anton Rybakov, How you are testing this network performance?
    I hope, the wiki pages will be useful to better understand for transport the packets over network
    http://processors.wiki.ti.com/index.php/TransportNetLib_UsersGuide
    http://processors.wiki.ti.com/index.php/TransportNetLib_TestUsersGuide#DSP_UDP_Loop_Back
  • Hi Pubesh!

    My previous tests were not good enough. In more proper tests, where board and pc were connected via single 1Gbe switch and good cable, with using linux kernel packet generator I was get perfomance of 1Gbit on receive data on board, and 0.55Gbit to send from it.

    But in our real application things not been same good. Our task is sending RAW video frames from IP-camera to evmk2h board and then process them with DSP. We faced with strong packet loss on board side, which causes video frames to be non-usable. Although max recv bandwidth of 1Gb is more as twice than we need, exceeding "peak" bandwith of board causes to skip frames. IP packets were silently discarded, and do not showed in network interface statistics.

    Solution which help us is increase depth of edma queues for board network driver. In .dts file for board I made following changes:

    interface-0 {
    rx-channel = "netrx0";
    rx-queue-depth = <0x300 0x300 0x0 0x0>; # was <0x80 0x80 0x0 0x0>
    rx-buffer-size = <0x2328 0x2000 0x0 0x0>; # was <0x5dc 0x1000 0x0 0x0>
    efuse-mac = <0x1>;
    };

    And now all works fine! Also now we can use mtu value of 9000.

    Not big investigation, but hope it may be useful for someone else :-).