[2941] in linux-net channel archive

home help back first fref pref prev next nref lref last post

More TCP speed fixes

daemon@ATHENA.MIT.EDU (Pedro Roque Marques)
Sat May 18 02:09:48 1996

Date: 	Sat, 18 May 1996 01:18:07 +0100
From: Pedro Roque Marques <roque@di.fc.ul.pt>
To: Eric Schenk <schenk@rnode84.cs.toronto.edu>
Cc: linux-net@vger.rutgers.edu, Alan Cox <alan@cymru.net>,
        Linus Torvalds <Linus.Torvalds@cs.helsinki.fi>, roque@di.fc.ul.pt
In-Reply-To: <199605170625.CAA00785@rnode84.cs.toronto.edu>


Eric,

on tcp_input patch you have:

-		if (m > (sk->rtt >> 3)) 
+		/* Yikes. This used to test if m was larger than rtt/8.
+		 * Maybe on a long delay high speed link this would be
+	         * good initial guess, but over a slow link where the
+	         * delay is dominated by transmission time this will
+	         * be very bad, since ato will almost always be something
+		 * more like rtt/2. Better to discard data points that
+		 * are larger than the rtt estimate.
+	         */
+		if (m > sk->rtt)


and then:

 	/*
 	 *	Now update timeout.  Note that this removes any backoff.
 	 */
 			 
-	sk->rto = ((sk->rtt >> 2) + sk->mdev) >> 1;
+	sk->rto = (sk->rtt >> 3) + sk->mdev;

and as you say:

(2) Jacobson's revised SIGCOMM'88 paper states that changing the RTO
    calculation from

	RTO = R + 2V

    to

	RTO = R + 4V

by your text is clear that

	(sk->rtt >> 3) is the smothed round trip time.
	
we should revert to the Yikes-less version.


regards,
  Pedro.


home help back first fref pref prev next nref lref last post