From owner-cvs-all Sun Aug 18 15:32:44 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2393437B400; Sun, 18 Aug 2002 15:32:35 -0700 (PDT) Received: from creme-brulee.marcuscom.com (rdu57-17-158.nc.rr.com [66.57.17.158]) by mx1.FreeBSD.org (Postfix) with ESMTP id 92B0643E65; Sun, 18 Aug 2002 15:32:34 -0700 (PDT) (envelope-from marcus@marcuscom.com) Received: from shumai.marcuscom.com (shumai.marcuscom.com [192.168.1.4]) by creme-brulee.marcuscom.com (8.12.5/8.12.5) with ESMTP id g7IMW8ix015032; Sun, 18 Aug 2002 18:32:09 -0400 (EDT) (envelope-from marcus@marcuscom.com) Subject: Re: cvs commit: src/sys/netinet tcp_subr.c tcp_timer.c tcp_timer.h From: Joe Marcus Clarke To: Matt Dillon Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org In-Reply-To: <200208162216.g7GMGd6i085952@freefall.freebsd.org> References: <200208162216.g7GMGd6i085952@freefall.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-N8s2wdH6i5hPgdSem7/F" X-Mailer: Ximian Evolution 1.0.8 Date: 18 Aug 2002 18:32:33 -0400 Message-Id: <1029709953.354.7.camel@shumai.marcuscom.com> Mime-Version: 1.0 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --=-N8s2wdH6i5hPgdSem7/F Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Fri, 2002-08-16 at 18:16, Matt Dillon wrote: > dillon 2002/08/16 15:16:39 PDT >=20 > Modified files: (Branch: RELENG_4) > sys/netinet tcp_subr.c tcp_timer.c tcp_timer.h=20 > Log: > MFC sysctls to control the TCP retransmit timer. Temporarily default > net.inet.tcp_rexmit_min to 1000ms (1 second) to maintain prior -stable > behavior. The default net.inet.tcp_rexmit_slop (extra time always adde= d to > the timeout calculation) is 200ms, but effectively obscured by the 1000= ms > minimum. Setting net.inet.tcp_rexmit_min to a low value such as 12 wil= l > get you -current's behavior. Matt, maybe I'm missing something, but I find on -stable, net.inet.tcp.rexmit_min is 10 by default, and setting it to 12 has no effect (i.e. keeps the value at 10). net.inet.tcp.rexmit_slop is 200 by default on -stable already. On -CURRENT rexmit_min is 30 by default and rexmit_slop is 200. My test machines are: FreeBSD shumai.marcuscom.com 4.6-STABLE FreeBSD 4.6-STABLE #1: Sun Aug 18 18:14:07 EDT 2002 =20 marcus@shumai.marcuscom.com:/usr/obj/usr/src/sys/SHUMAI i386 and FreeBSD jclarke-pc.cisco.com 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Mon Aug 12 15:14:07 EDT 2002 =20 marcus@jclarke-pc.cisco.com:/usr/obj/usr/src/sys/JCLARKE-PC i386 Joe > =20 > This can be somewhat confusing. The minimum is an unconditional lower = bound > on the retransmit timeout calculation. The slop is unconditionally add= ed > to the retransmit timeout calculation PRIOR to the minimum being enforc= ed. > On faster networks the SRTT calculation becomes less dependable as a me= ans > of preventing unnecessary retransmissions. The best protection against= this > is to use the slop parameter to control your nominal interactive > responsiveness/recovery-base in the face of non-congestion related pack= et > loss (e.g. on a wireless network). > =20 > Generally speaking current RFCs regarding TCP retransmit behavior want > a 1 second minimum, but they are so focused on streaming behavior that = they > completely ignore the disaster this causes on faster ( < 500ms ping ) > connections operating interactively, such as when typing in a remote sh= ell > over a wireless network. Linux uses a far more reasonable 200ms minimu= m > and our -current now does the equivalent (or better) by using 200ms of = slop. > Hopefully -stable will follow with a change to 200ms of slop in the > near future. For the moment, if you care, please set net.inet.tcp.rexm= it_min > to a low value (such as 12) in your /etc/sysctl.conf. > =20 > Revision Changes Path > 1.73.2.27 +3 -1 src/sys/netinet/tcp_subr.c > 1.34.2.13 +8 -0 src/sys/netinet/tcp_timer.c > 1.18.2.1 +15 -3 src/sys/netinet/tcp_timer.h >=20 --=-N8s2wdH6i5hPgdSem7/F Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (FreeBSD) iD8DBQA9YCCBb2iPiv4Uz4cRAq16AKCCMAW9Vg8K2WTCgh/13QQUAdNdEQCggzPN Gl3h32psXZ8qv+dqxSnXyNk= =h5/R -----END PGP SIGNATURE----- --=-N8s2wdH6i5hPgdSem7/F-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message