Thread (17 messages) 17 messages, 5 authors, 2010-01-27

Re: [PATCH] tcp: fix ICMP-RTO war

From: Alexey Kuznetsov <hidden>
Date: 2010-01-27 15:15:13

Hello!
I went through some history, it seems that this comment about the lower 
bound originates from Alexey [1]:
Yes, I even remember why it was done.

Actual comment starts with "If rtt variance happened to be less 50msec...".

It was observed that sometimes due to high burstiness of ACKs
(found originally when linux commuinitected to solaris tcp stack,
which issued huge burst of acks each 50msec. I think he data can be found
in netdev archives), rtt deviation tends to collapse to 0 during such burst,
rto was calculated as plain rtt and obviously we falled to retransmit.

So, the algorithm was repaired. First, to avoid glitches in the future
mdev was clamped to 50ms (rttvar, contribution to rto, is 200msec).
That's what the comment is about.

Second, Linux used to sample rtt each ack, not each rtt (which is technically
main source of the problem). Instead of decreasing sampling rate
I used different sampling rates for growing and dropping rtt:
it grows with rate of arriving acks and drops each rtt i.e. rto grows
quickly, but drops slowly.

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