lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] [lwip] Re: [lwip-members] Suggestion: define TMR constants


From: Adam Dunkels
Subject: [lwip-users] [lwip] Re: [lwip-members] Suggestion: define TMR constants in lwipopts.h instead of tcp.h
Date: Thu, 09 Jan 2003 00:19:48 -0000

Hi!

On Thu, 2002-10-24 at 11:53, Kieran Mansley wrote:
> > Suggestion: It would be nice if TCP_TMR_INTERVAL, TCP_FAST_INTERVAL, and
> > TCP_SLOW_INTERVAL were defined in the lwipopts.h instead of (or as well
> > as) tcp.h
> >
> > Decreasing these values really seems to increase the performance of the
> > stack at 100Mbps.  I have these values set to 1, 2, and 5 respectively
> > in my v2pro port and it dramatically increased transmit throughput.
> 
> Interesting.  It seems as though there is some problem with ACKs not being
> sent if you really see such a large increase in performance.  It sounds as
> if ACKs are being delayed waiting for data to piggyback on, none is
> arriving, and so it waits for a fast timer timeout before sending it
> anyway.  Is your application largely uni-directional traffic?

One reason for the large performance increase may also be that when
reducing the fast timer interval to nearly zero, delayed ACKs will not
be delayed more than a few milliseconds. This will ramp up the
congestion window of the sender much quicker than with 200 ms delayed
ACKs.

Also, TCP_FAST_INTERNAL and TCP_SLOW_INTERVAL are not used by TCP
anymore, though the definitions are kept - perhaps they should be
removed? All TCP timers go through the tcp_tmr() interface. (It is still
possible to go via the tcp_slowtmr() and tcp_fasttmr() calls, however.)
Earlier versions of lwIP let TCP manage its own timers, but this was
dropped in order to make the protocol code less dependant of the
underlying system.

In other words, this means is that the TCP code is not really in control
of the timers. TCP expects the "system" to call tcp_tmr() every 100 ms.

But we could add TCP_TMR_INTERVAL as an option to lwipopts.h and have a
default in tcp.h

/adam


[This message was sent through the lwip discussion list.]




reply via email to

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