On Tue, 2011-10-11 at 17:13 +0200, Mason wrote:
> > In this UDP test did you use lwIP to process the UDP traffic, or was
> it
> > just a test that interfaced directly to your driver?
> 
> In the UDP test, any frame larger than 1500 bytes was
> not passed to lwip. The bogus ACK was sent directly
> from the RX context instead. 

OK, I'm not at all surprised that there is a big difference between the
performance of that test, and the TCP performance you first measured.

In the TCP case using the sockets API, you have:
1) 2 copies in each direction (app to/from lwIP, lwIP to/from your
driver's buffer descriptors)
2) all the TCP protocol processing (which is probably not a big deal)
3) 2 context switches in each direction (driver to/from lwIP, lwIP
to/from app)

This is going to put a big dent in the throughput.   You can avoid a lot
of that by using the raw lwIP API.  If you have to stick with the
sockets API you may be stuck with relatively low throughput.  

Kieran


_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to