lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] lwIP hangs on transfers with many short packets


From: address@hidden
Subject: Re: [lwip-users] lwIP hangs on transfers with many short packets
Date: Wed, 19 May 2010 19:26:28 +0200
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4

multiplex wrote:
Hi all,

We're having a problem that stumps us. Using lwIP1.3.0 (Xilinx Microblaze
port), we are using lWIP to support a telnet CLI connection. As long as we
don't have a lot to print, no problem; once we print a lot of data
typically, this can be even packets containing 1 byte of payload, lwIP hangs
(typically, after 30-40 packets). With larger chuncks, it just takes longer.

We are using socket mode, all threads are running at the same priority.

With the debugging turned on, we see that the cause appears to be inside
tcp_enqueue which keeps going around in circles trying to
allocate/deallocate something but hitting a boundary.
Do you mean "tcp_enqueue: too long queue 89 (max 89)"? If so, just increase TCP_SND_QUEUELEN in your lwipopts.h. This is a limit on how many pbuf shall be allowed in the queue of unacknowledged segments per tcp pcb. Up to (and including) 1.3.2, lwIP created a new pbuf for each call to tcp_write. This results in queuelen being quite high when calling tcp_write (or the socket functions send/write) with many small chunks.This has been improved in CVS HEAD already.

Simon



reply via email to

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