[Top][All Lists]
[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/