Thread (17 messages) 17 messages, 6 authors, 2011-10-31

Re: [RFC] tcp: Export TCP Delayed ACK parameters to user

From: Eric Dumazet <hidden>
Date: 2011-10-28 08:44:15

Le vendredi 28 octobre 2011 à 11:01 +0300, Daniel Baluta a écrit :
On Fri, Oct 28, 2011 at 3:01 AM, Eric Dumazet [off-list ref] wrote:
quoted
Le vendredi 28 octobre 2011 à 02:07 +0300, Daniel Baluta a écrit :
quoted
RFC2581 ($4.2) specifies when an ACK should be generated as follows:

" .. an ACK SHOULD be generated for at least every second
  full-sized segment, and MUST be generated within 500 ms
  of the arrival of the first unacknowledged packet.
"

We export the number of segments and the timeout limits
specified above, so that a user can tune them according
to its needs.
Well, this requires user has a machine exclusive use :)
So, this means that setting parameters system wide
isn't an option?
It is a first step, but we can notice a global setting might please one
application but negatively impact other applications.

I guess some users will want a per socket option, but this can come
later. An other idea to save space on socket structures would be to
select two set of values depending on TOS/TCLASS.

I can imagine ssh (lowdelay) and scp (throughput) wanting different
behavior here.
On Windows there is a global setting TcpAckFrequency [1],
which is similar with our tcp_delack_{min,max}.

On Solaris there is a global option tcp_deferred_acks_max [2],
which is similar with our tcp_delack_segs.
and also has tcp_deferred_ack_interval
Thanks for your comments, I will post an updated patch asap.

Daniel.

[1] http://support.microsoft.com/kb/328890
[2] http://www.sean.de/Solaris/soltune.html
Dont forget to CC Andy Lutomirski [off-list ref], he might be
interested being part of the process.

Thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help