lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] Window memory leak from retransmitted packets


From: Lou Cypher
Subject: Re: [lwip-users] Window memory leak from retransmitted packets
Date: Mon, 22 Jun 2009 15:44:21 +0200
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

> I wonder if anyone can help with a lwip problem on a Xilinx ML506 Virtex
> 5 evaluation board with a microblaze processor and Xilinx Lwip 2.0
> 
> We are using the raw packet implemetation with a single TCPIP socket
> link between a windows PC and the development board. I have based my
> code on the Xilinx web server examples.
> 
> Our link connects and runs for a while, then fails.

Xilinx' web server example (XAPP1026) is (with a delicate euphemism) severely
flawed. Even browsing their example web pages you will immediately notice that
something is wrong, like downloading a 42 KiB JPEG in about 10 seconds (on a
LAN) -- first: they never send more than 1 KiB at a time, forcing the transfer
to happen 1 KiB / TCP_FAST_INTERVAL, so never better than 4 KiB/s (with standard
TCP_FAST_INTERVAL).
No surprise, I filed them many (fatal) errors in their application notes in the
last year, and I've seen no changes.

My, all personal, suggestion:
 - Avoid Xilinx' example and use httpd example in (original lwIP) contrib, and
tailor it to your purpose; the same example has been reworked in many other
sources (like in StellarisWare library from Luminary/TI).

 - Use lwIP copying files in your project, and *not* using Software Platform
Settings library.
Note: You'll see in xadapter.c, xemacif_input(), that
SYS_ARCH_PROTECT()/SYS_ARCH_UNPROTECT() are used around
xemacliteif_input()/xlltemacif_input(), which looks like a "safety measure",
while it can stop interrupts from happening for a *long* time -- definition of
"long": enough to easily miss packets close to each others, like with HTTP
clients multiple connections.
You can change that above only avoiding the library in EDK, and editing it to
your tastes, so that it finally works(!)
  See also this
   http://lists.gnu.org/archive/html/lwip-users/2009-06/msg00013.html

 - I didn't go deep enough myself with this porting, but I've got the feeling
that going deeper could lead to the bottom of the barrel, go figure(...)

Lou





reply via email to

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