Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Dec 2006 16:48:58 +0100
From:      Marko Zec <zec@icir.org>
To:        Andre Oppermann <andre@freebsd.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>, Marko Zec <zec@freebsd.org>
Subject:   Re: PERFORCE change 111198 for review
Message-ID:  <200612061648.59255.zec@icir.org>
In-Reply-To: <4576E406.4010108@freebsd.org>
References:  <200612061531.kB6FVR67021263@repoman.freebsd.org> <4576E406.4010108@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 06 December 2006 16:38, Andre Oppermann wrote:
> Marko Zec wrote:
> > http://perforce.freebsd.org/chv.cgi?CH=111198
> >
> > Change 111198 by zec@zec_tpx32 on 2006/12/06 15:31:22
> >
> > 	Store a pointer back to the owner vnet in struct inpcbinfo,
> > 	so that whenever an inpcb is directly or indirectly available
> > 	as an argument to a function, the function-local vnet ptr can
> > 	be fetched from there, and not via the curvnetb macro.
>
> Ugh, this will become locking/refcounting hell.

Hmm, why?  This change doesn't introduce or need any additional refcounting.  
Each vnet has its own instance of inpcbinfo, hence inpcbinfo->vnet binding is 
permanent.  A vnet can't be removed until its inpcbinfo->ipi_count tells us 
there are no inpcbs pointing back to it any more.

Marko



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200612061648.59255.zec>