lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] Help in getting maximum throughput with LWIP.


From: Dany Thiffeault
Subject: Re: [lwip-users] Help in getting maximum throughput with LWIP.
Date: Tue, 30 Mar 2010 15:31:15 -0400

oh and Simon, another question. I haven't seen anything about this in your wiki, but are PBUF_POOL_SIZE and PBUF_POOL_BUFSIZE important too?
I'm trying to put everything as high as possible, but I have linking problems because I need to much memory. Could you give me some suggestions on the parameters to choose if I want to send packets of 8k size, or more, something like this...

#define MEM_SIZE                      10 * 1024
#define MEMP_NUM_PBUF         16
#define PBUF_POOL_SIZE          10
#define PBUF_POOL_BUFSIZE    LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)
#define TCP_MSS                        9216
#define TCP_WND                       (TCP_MSS * 2)
#define TCP_SND_BUF                TCP_WND
#define TCP_SND_QUEUELEN     6 * TCP_SND_BUF/TCP_MSS

Best regards,
Dany


On Tue, Mar 30, 2010 at 12:01 PM, Dany Thiffeault <address@hidden> wrote:
Ok, I'm now back up-and-running. With Studio 2.5, Framework 1.7 and LWIP 1.3.2. My streaming is working great at the moment. I'm limited to 2.1Mbits/s of throughput though, so I started reading your Wiki page Simon and trying things.

I have one question:
- How do I know if the checksum can be calculated by the hardware? I'm using a board I made but based on the Atmel EVK1100.

Thanks!!!!
Dany


On Tue, Mar 23, 2010 at 11:50 AM, Martin Persich <address@hidden> wrote:
Hi Dany,
I'm workin with AVR32 too and I have similar problem in this momen (I have LwIP 1.3.2 + some CVS changes and Atmel framework 1.7 of course). My app is hanging with huge ethernet load (traffic approx 20 GB / day) sometime - once per day, but most often once per week, ... terrible situation. I am suspecting Atmel "macb.c" driver in this moment, I am not sure if all code in "macb.c" (function lMACBSend) is thread and IRQ safety. But it is only my last idea. I changed ETHERNET_CONF_NB_TX_BUFFERS from 10 to 24 two days ago ...
I haven't any problem solution in this moment.
Martin Persich
 
----- Original Message -----
Sent: Monday, March 22, 2010 10:13 PM
Subject: Re: [lwip-users] Help in getting maximum throughput with LWIP.

wow, great thanks. I'll make some tests tomorrow.

Indeed, I forgot to mention. I'm using TCP with the netconn API. While reading through the multiple posts I missed the past few months, I found out that 1.3.2 is out and Atmel framework 1.7 too. I'll upgrade everything tomorow.

But in the meantime, I'm experiencing problems like I wrote. I don't know why my app is hanging in the tcp_in.c file. If somebody knows what's going on on that line, let me know.



On Mon, Mar 22, 2010 at 5:05 PM, address@hidden <address@hidden> wrote:
I just took the time to write something about performance/throughput on the wiki:
- http://lwip.wikia.com/wiki/Maximizing_throughput
- http://lwip.wikia.com/wiki/Tuning_TCP

However, you didn't tell us if you are using TCP or UDP? Also, I don't know what ETHERNET_CONF_NB_TX_BUFFERS is, so I'm guessing it's related to the lwIP port you are using... Maybe someone else here has experience with the platform you are using, but I don't :-(

Simon


Dany Thiffeault wrote:
Hi,

I'm currently coding an application on a AVR32 UC3 board. The board is actually an acquisition platform that's using Ethernet (lwip 1.3.1 currently). I'm using FreeRTOS and the Atmel framework 1.4.

My connection is working great with my Windows application. There are two modes to my AVR32 application:

1- Idle mode where there are only keep-alive packets every 1 second, of 8bytes each.
2- Streaming mode, where the AVR32 (so LWIP) send data as fast as possible to the Win application.

What is important to me is to get maximum speed in Streaming mode, where packets are Header(24bytes) + Data(?Bytes). I'm currently playing with the data size to see what I can achieve. Ideally, the maximum size I would like is about 35KBytes. Right now, I'm not sure what's going on, but the Ethernet seems to hang after a few seconds of streaming. Haven't found the problem so far.

So, what are the important parameters for maximum thoughput in the lwipopts.h file dans other #defines like ETHERNET_CONF_NB_TX_BUFFERS, etc.
I'm kind of lost in all those parameters.

Thanks a lot!!
Dany
_______________________________________________ lwip-users mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users


_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users


_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users



reply via email to

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