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
