cvs commit: src/sys/netinet ip_divert.c raw_ip.ctcp_hostcache.c
tcp_subr.c tcp_syncache.c udp_usrreq.c
Andre Oppermann
andre at freebsd.org
Wed Aug 11 13:34:42 PDT 2004
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
More information about the cvs-src
mailing list