From owner-cvs-all@FreeBSD.ORG Thu Sep 7 05:20:38 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org 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 AAE6C16A4FC for ; Thu, 7 Sep 2006 05:20:38 +0000 (UTC) (envelope-from silby@silby.com) Received: from relay02.pair.com (relay02.pair.com [209.68.5.16]) by mx1.FreeBSD.org (Postfix) with SMTP id 2F09843D55 for ; Thu, 7 Sep 2006 05:20:37 +0000 (GMT) (envelope-from silby@silby.com) Received: (qmail 80866 invoked from network); 7 Sep 2006 05:20:36 -0000 Received: from unknown (HELO localhost) (unknown) by unknown with SMTP; 7 Sep 2006 05:20:36 -0000 X-pair-Authenticated: 209.68.2.70 Date: Thu, 7 Sep 2006 00:21:09 -0500 (CDT) From: Mike Silbersack To: Gleb Smirnoff In-Reply-To: <20060906151246.GU40020@FreeBSD.org> Message-ID: <20060907001910.G12826@odysseus.silby.com> References: <200609061356.k86DuZ0w016069@repoman.freebsd.org> <20060906091204.B6691@odysseus.silby.com> <20060906143204.GQ40020@FreeBSD.org> <20060906093553.L6691@odysseus.silby.com> <20060906150129.GT40020@FreeBSD.org> <20060906151246.GU40020@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/netinet in_pcb.c tcp_subr.c tcp_timer.c tcp_var.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Sep 2006 05:20:38 -0000 On Wed, 6 Sep 2006, Gleb Smirnoff wrote: > Another simple enough solution would be to msleep() with tcbinfo mutex > temporarily dropped if we fail to find a port. Then the tcp_timer_2msl_tw() > on the next run will free tcptw entries and wake up us. Nah, not worth the effort. time_wait sockets are good to try to follow the rules on, but if the choice is to delay or throw away one prematurely, throwing one away prematurely is the better choice. > Anyway, I'm strongly against doing the purge cycling in the syscalls. Yep, me too - doing purge cycling was never my intent; it was just supposed to be a last ditch attempt to free a time_wait socket that was taking up an ephemeral port when no ephemeral ports were left. Mike "Silby" Silbersack