lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] again: throughput problem


From: kuschel
Subject: [lwip-users] again: throughput problem
Date: Fri, 26 Mar 2004 13:35:30 +0100

Hi Kieran,

thanks for your hints. I have changed my configuration and I could raise the 
throughput (I had to increase the parameter TCP_SND_QUEUELEN). I have also 
tried the other options, including window and send buffer size, but now I have 
reached a new limit: The throughput is on my MS Windows NT4 SP6 based client 
exactly 1 MByte/second. When MS Windows is too busy, the throughput drops down 
to exactly 1/2 MByte/second. Again, the same like my last post, I can open 
multiple connections with 1MByte/sec to reach a maximum of 58MBit/s. But now it 
seems to me that MS Windows is the limmiting factor. Has anyone experience with 
this?

My settings are now:


/* TCP receive window. */
#define TCP_WND         32768

/* TCP Maximum segment size. */
#define TCP_MSS         16384

/* TCP sender buffer space (bytes). */
#define TCP_SND_BUF     32768 


Does it make sense to raise the TCP_SND_BUF size again? Is there any "optimal" 
set of settings (rule of thumb?) to reach maximum throughput?

My target is a PowerPC with 400MHz, 128MB RAM, uCOS-II and Gigabit Ethernet.


To point 1 (possible mailbox bug in the message api) of my last post:
This "bug" does no more appear since I have changed the lwip options.

But sometimes I get the assertion "pbuf_free: p->ref > 0" failed (pbuf.c), the 
same one people had posted before. My function calls to lwip are all serialized 
(one task feeds data into the sockets (chargen.c), the TCP/IP-task does the 
protocol and the timeouts, and one task feeds data from the network into lwip, 
the etharp.c is additionally protected by a semaphore), so I think this could 
be a problem of lwip.


Dennis



On Mon, 2004-03-22 at 11:27, address@hidden wrote:
> Hi all!
> 
> I have two problems:
> 
>   1.  Possible mailbox bug in the message api
>   2.  Throughput problem

I'm not sure about number 1, so I'll jump straight to number 2:

> 
> 2. Throughput problem
> ---------------------
> 
> I am running lwIP on a PowerPC 440GP at 400MHz with uCOS-II. 
> For our application I need a throughput of at least 35 MBit/s. 
> The throughput I get is only 7.6 kB/s per connection. I can 
> open multiple connections each running at 7.6 kB/s while the
>  PowerPC is still lazy at 3% CPU usage. Has anybody observed
>  the same behaviour? I have tried to increase the tcp timer 
> rate but without luck. I am using chargen.c from the lwIP 
> contribution package for my test

If you can achieve the required throughput using multiple connections,
it sounds like the window size or the send buffer size of each
connection is the limiting factor.  Try increasing the settings for
these in lwipopts.h  If you know the round trip time of your network you
can calculate the theoretical values needed for the throughput you
require.

Kieran





reply via email to

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