From owner-cvs-src@FreeBSD.ORG Fri Oct 31 23:36:32 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F41AF16A4CF for ; Fri, 31 Oct 2003 23:36:31 -0800 (PST) Received: from relay.pair.com (relay.pair.com [209.68.1.20]) by mx1.FreeBSD.org (Postfix) with SMTP id 200DA43FBD for ; Fri, 31 Oct 2003 23:36:30 -0800 (PST) (envelope-from silby@silby.com) Received: (qmail 35216 invoked from network); 1 Nov 2003 07:36:28 -0000 Received: from niwun.pair.com (HELO localhost) (209.68.2.70) by relay.pair.com with SMTP; 1 Nov 2003 07:36:28 -0000 X-pair-Authenticated: 209.68.2.70 Date: Sat, 1 Nov 2003 01:36:27 -0600 (CST) From: Mike Silbersack To: src-committers@FreeBSD.org In-Reply-To: <200311010730.hA17U85t095346@repoman.freebsd.org> Message-ID: <20031101013231.J63377@odysseus.silby.com> References: <200311010730.hA17U85t095346@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/netinet in_pcb.c tcp_subr.c tcp_var.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Nov 2003 07:36:32 -0000 Combined with the reduction of the number of timewait structures to 1/5th of the total number of sockets, this commit signals the end of the need to lower the msl on busy webservers. An overabundance of TIME_WAIT sockets should no longer be a problem. Thanks go to apachebench and http_load for providing easy ways to create the troublesome condition in question. (These changes will not be backported to 4.x because they rely on jlemon's neato timewait segregation code which hasn't been MFC'd.) Mike "Silby" Silbersack On Fri, 31 Oct 2003, Mike Silbersack wrote: > silby 2003/10/31 23:30:08 PST > > FreeBSD src repository > > Modified files: > sys/netinet in_pcb.c tcp_subr.c tcp_var.h > Log: > - Add a new function tcp_twrecycleable, which tells us if the ISN which > we will generate for a given ip/port tuple has advanced far enough > for the time_wait socket in question to be safely recycled. > > - Have in_pcblookup_local use tcp_twrecycleable to determine if > time_Wait sockets which are hogging local ports can be safely > freed. > > This change preserves proper TIME_WAIT behavior under normal > circumstances while allowing for safe and fast recycling whenever > ephemeral port space is scarce. > > Revision Changes Path > 1.125 +12 -0 src/sys/netinet/in_pcb.c > 1.165 +19 -0 src/sys/netinet/tcp_subr.c > 1.91 +2 -0 src/sys/netinet/tcp_var.h >