lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [lwip-users] Tunning TCP in Lwip


From: Goldschmidt Simon
Subject: RE: [lwip-users] Tunning TCP in Lwip
Date: Mon, 6 Nov 2006 09:32:05 +0100

Hi Frédéric,

> Do you see more "rules" to respect ? (I hope I don't have 
> write silly things)

-1- For those who have to write a new ethernet driver (ethernetif.c) for a MAC 
which does not support DMA copy: creating/checking the checksums for IP/UDP/TCP 
can be done on-the-fly so you don't have to load the same data twice into the 
processor. This speeded things up for me, but it's not that easy to implement 
(and DMA copy might be faster anyway).

-2- When using the socket- (or callback-) interface, input data is copied from 
the pbufs into the application buffer using single byte copies. Depending on 
your platform, this can take much longer than copying with the width of your 
data bus. I implemented this change in api_lib.c/netbuf_copy_partial() and 
submitted a patch for this, but I don't think it's included in CVS for now (or 
will be :). But it did boost my receive performance.

-3- Although you probably already have done this, I think it's worth to mention 
again and again: The biggest performance boost (at least for me) came by 
selecting the best lwip_standard_chksum() in inet.c. (Of course this is only 
valid if you don't take option -1- as described above...)

Hope that helps,

Simon.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]