From owner-cvs-all@FreeBSD.ORG Wed Aug 11 20:34:42 2004 Return-Path: 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 B139A16A4CF for ; Wed, 11 Aug 2004 20:34:42 +0000 (GMT) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id AE4F743D5A for ; Wed, 11 Aug 2004 20:34:41 +0000 (GMT) (envelope-from andre@freebsd.org) Received: (qmail 93407 invoked from network); 11 Aug 2004 20:28:36 -0000 Received: from unknown (HELO freebsd.org) ([62.48.0.53]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 11 Aug 2004 20:28:36 -0000 Message-ID: <411A82E0.A7B181C@freebsd.org> Date: Wed, 11 Aug 2004 22:34:41 +0200 From: Andre Oppermann X-Mailer: Mozilla 4.8 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Robert Watson References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: Bosko Milekic cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/netinet ip_divert.c raw_ip.ctcp_hostcache.c tcp_subr.c tcp_syncache.c udp_usrreq.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 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: Wed, 11 Aug 2004 20:34:42 -0000 Robert Watson wrote: > > On Wed, 11 Aug 2004, Bosko Milekic wrote: > > > Please be careful here. The reason they were NOFREE before was because > > the original zone code was implicitly nofree. If these structures need > > to be type stable, then you just broke them with this commit. So are > > you sure that they absolutely do not need to be type stable? > > Often, zones with the old zone allocator being type-stable allowed low > cost monitoring using generation numbers (see the UNIX domain socket code > as an example). As a result, monitoring code will assume it can walk the > global list of sockets even after the sockets are free'd, and detect it > with the generation number. This may or may not apply to the pcbs (don't > have source in front of me), but the caution definitely applies. I have made a backout for all those zones which have timers in their structures. Tor Egge provided a very convincing argument for this in private email. TCP hostcache and rtentry's do not need type-stable storage and remain without NOFREE. Thanks for all comments urging caution! -- Andre