lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] Using Stats to tune memory options


From: JM
Subject: [lwip-users] Using Stats to tune memory options
Date: Fri, 31 Jul 2009 20:02:49 -0700 (PDT)

I'm trying to figure out what parameter(s) are deficient in my configuration by looking at Stats, presumably the MEM_STATS and MEMP_STATS.  I also want to eventually shrink memory usage by lwIP as much as possible; every KB counts.  A few seconds into receiving data, the stack starts dropping packets and sending duplicate ACKs.  The last config I used is below, although I'm tweaking things almost constantly. 

I'm receiving streaming TCP data, so nothing is being sent except for an initial request.  In looking at lwip_stats.memp[x], where x is 0 thru 5, I'm able to sort of match up each section with my config.  5 seems to be PBUF_POOL_SIZE, 4 is MEMP_NUM_PBUF, etc....at least that's what it seems like.  I've went thru the code but wasn't able to figure out what each one is (I'm not that good at C).  Anyway, neither mem nor memp are indicating errors.  And memp[5] only maxed at 12 out of 20. 

Are my assumptions correct, and what are the other parts of the memp array displaying?  Also, is there any other reason for dropping packets/duplicate ACKs, and what is a good way to track that down (with respect to what I can set in lwipopts.h)?





#define PBUF_POOL_SIZE        20
#define TCP_MSS                1460
#define TCP_SND_BUF         (TCP_MSS * 4)
#define PBUF_POOL_BUFSIZE    256
#define TCP_WND             (1460*2)
#define MEM_SIZE            512
#define MEMP_NUM_PBUF        12



reply via email to

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