On 29 Sep 2011, at 13:21, Anirudha Sarangi wrote:

> 
> I went through the "tcp_write" code and compared it with older "tcp_write". 
> There is a huge change in implementation.
> Then I changed my application so that when I call tcp_write, I pass the 4th 
> argument (COPY) as zero. So I am telling the stack to use the same buffer and 
> do not copy it to local buffer. With it my performance improved many folds. 
> Just to give you an idea, with my change it is around 128 Mbps and without 
> this, it was 86. So the new tcp_write interface is designed in such a way 
> that if I ask it not to copy, then it behaves great.

I would expect the zero-copy version to perform much better than the copy 
version, as you have seen.

> Same thing does not apply for lwip130. For lwip130, if I pass the 4th 
> argument to tcp_write as 0, the improvement is not that big, may be in the 
> range of 4-5 Mbps.
>  
> Bottomline, lwip140 gives much better performance on Rx side. On Tx side, 
> with zero copy it gives great performance. On the Tx side, without zero copy, 
> its performance is worse than lwip130.

but I would also hope that 1.4.0 would perform as well if not better without 
zero-copy.

I think your packet captures have been held waiting for me to approve them as 
the attachments are so large.  Perhaps you could get a smaller capture?  Or 
upload them somewhere we can access them.  I don't really like forwarding many 
megabytes to everyone on the mailing list.

Being able to compare the 1.4.0 behaviour to the 1.3.0 behaviour would probably 
help too.

Kieran
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to