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.

Slow network perf on a TI-1808 in recv() on Linux

Hi all, I have a LogicPD dev board with the TI-1808.  During tight sync recv() loop on a 2.6.33-rc4 Linux kernel I'm seeing near 100% CPU load at 74megabit.  

i'm not sure how to progress, does anyone have tips?  I need to get this to 100megabit with about 10% load

 

thanks!

  • Reading a bit on the matter TI publishes their measurements here http://processors.wiki.ti.com/index.php/DaVinci_PSP_03.20.00.13_Device_Driver_Features_and_Performance_Guide#Performance_and_Benchmarks_2

    my numbers seem to be in line with theirs, I didnt realize this chip had low network performance.  if i'm seeing about 75megabit = 75megahtz on the ~500mhz chip thats quite a number of cycles per byte isnt it?


    because it seems to be be CPU bound can I assume the problem is either the NIC is not DMA'ing (it's PIO) or that there are too many buffer copies happening? is this 'as good as it can be', or is this an area of active improvement?

    in general on Linux are there tricks that I can use to help improve performance?  for example the 'sendfile' family of API's.  if it matters, this is an embedded device where there is only one user and custom written usermode code - my app is the only app running on the device,  if that can help?

     

     

     

    y

  • HI

    Both the NIC and the driver support DMA. Additionally the driver can also support interrupt throttling which can potentially yield performance improvements - please refer to the patch here:http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84da2658a619c2d96fae6741580879cc6d7a4cd1

    Regards

    Sriram