lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [task #7040] Work on tcp_enqueue


From: Jakob Stoklund Olesen
Subject: [lwip-devel] [task #7040] Work on tcp_enqueue
Date: Fri, 06 Feb 2009 08:35:31 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121622 Ubuntu/8.10 (intrepid) Firefox/3.0.5

Follow-up Comment #17, task #7040 (project lwip):

Here are some code size numbers for tcp_out.c (Blackfin):

* CVS:      5626
* split:    5906
* oversize: 6494

(These numbers differ from what I reported earlier because I am now using
LWIP_PLATFORM_BYTESWAP)

I can try to reduce the impact on code size, but at some point readability
suffers.

The patches are rather big because tcp_enqueue has been more or less
rewritten. Here is what I did for tcp-enqueue-split:

* Split tcp_enqueue into two identical functions.
* Remove superfluous code from each.
* Move common code to tcp_create_segment.
* Move coalescing of segments from the bottom of tcp_enqueue_data to the
top.

The tcp-oversize patch is actually a simple addition with almost everything
bracketed by #if TCP_OVERSIZE. Unfortunately, I couldn't resist the temptation
of further cleanups in tcp_enqueue_data. This makes the patch a bit bigger
than it needs to be.

If you want to understand what is going on, I would recommend applying both
patches, then comparing with the old tcp_enqueue side by side.


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7040>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

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