Date: Wed, 11 Aug 2004 22:34:41 +0200 From: Andre Oppermann <andre@freebsd.org> To: Robert Watson <rwatson@FreeBSD.org> 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 Message-ID: <411A82E0.A7B181C@freebsd.org> References: <Pine.NEB.3.96L.1040811152706.26298B-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?411A82E0.A7B181C>