[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] calculating memory #define(s) in lwip
From: |
Bandu |
Subject: |
[lwip-users] calculating memory #define(s) in lwip |
Date: |
Tue, 21 Apr 2009 23:28:56 +0100 |
Hi,
I'm having problem setting a proper values for the following #defines
#define MEM_SIZE (24 * 1024)
#define MEMP_NUM_PBUF 16
#define MEMP_NUM_TCP_PCB 8
#define MEMP_NUM_TCP_SEG 16
#define PBUF_POOL_SIZE 16
#define TCP_WND (8 * 1024)
#define TCP_MSS 1024
#define TCP_SND_BUF (8 * TCP_MSS)
#define TCP_SND_QUEUELEN (MEMP_NUM_TCP_SEG) *4
#define PBUF_LINK_HLEN 16
#define PBUF_POOL_BUFSIZE 256
Which of the above are related to TCP Tx and which are Rx?
How do I calculate those values to get an optimum throughput ?
I'm using Luminary Micro LM3S6965 which got 64KB RAM. and I'm opening 2 TCP port transfering data to PC.
PC <-------> MCU with lwIP 1.3 (2 TCP channel transfering data from 2xUART using 230Kbps).
When I open only 1 TCP port and transfer the data, the transmission is fast and smooth.
The problem is, when 2 TCP port are opened and device is connected to 10Mbps Hub both data transfer starting to slow down significantly and i can see the data transfer are starting and stopping.
In my firmware, I got sometimes a) snd_queuelen was fulled on one of the port b) i got ERR_MEM on tcp_write most of the time c) snd_buf size become 0 or very low and never free up again.
I'm sure my ethernet driver is NOT in promicuous mode.
Am I setting those #define completely wrong?
It would be great if you guys can give me suggestion or thoughts about what would causing me the issue.
Thank you very much.
- [lwip-users] calculating memory #define(s) in lwip,
Bandu <=