Add some timing metrics to your code and figure out where you are getting
your performance loss.  For example I would start at the MAC layer where
you are writing data to the MAC/GMAC peripheral and see how long that is
taking.   This in my experience has been the slow part.  That is often the
drivers are not optimized by vendor to use DMA.


On Tue, Dec 8, 2020 at 8:57 AM Oleg V. Kobrin <kko...@gmail.com> wrote:

> I got an external device connected to my custom TM4C1294KCPDT-based board
> via TCP/IP. There are software on a PC connecting to this board.
>
> I am using lwin2.1.2.
>
> The device sends some data to my board, the throughput is:
>
> 100 times per second - a packet of 78 bytes plus a packet of 2428 bytes,
> and some small packets once per second, thus about 256kbytes per second. I
> can receive and process all this data.
>
> So I need to send processed data to PC, this is about 120bytes + 2418bytes
> 100 times per second.
>
> The problem is, I can succesfully send small data ,120bytes @ 100Hz, plus
> lagre data, 2418bytes @ 20Hz, but then I increase the lagre data rate to
> 50Hz and more, I see LwIP reports TCP send buffer overflows, so I need to
> wait until it goes out and I have some data lost.
>
> Is there any lwip tuning or any other workarounds possible? Thank you!
> _____________
> Oleg V. Kobrin
> Portlab, Ltd.
> _______________________________________________
> lwip-users mailing list
> lwip-users@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to