Skip site navigation (1)Skip section navigation (2)
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>