Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Jun 2004 17:59:23 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        Robert Watson <rwatson@freebsd.org>
Cc:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Subject:   Re: reference counting.. continued.. 
Message-ID:  <Pine.BSF.4.21.0406121758140.95601-100000@InterJet.elischer.org>
In-Reply-To: <Pine.NEB.3.96L.1040612153110.90086I-100000@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help


On Sat, 12 Jun 2004, Robert Watson wrote:

> 
> On Wed, 9 Jun 2004, Poul-Henning Kamp wrote:
> 
> > I am not in favour of a dedicated API for refcounts. 
> > 
> > A dedicated API works if the refcount is a detached property of the
> > object, and that is not normally the case outside OO+GC implementations. 
> > 
> > Our reference counts will almost invariably be integral properties of
> > our objects and therefore has to interact with the remaining object
> > locking. 
> 
> I don't have a strong feeling about the general need for a refcount API,
> but I can confirm that many of the interesting objects in the kernel
> wouldn't lend themselves to such an API.  There are many cases where we'll
> want to protect the reference count using an existing lock, in which case
> locking built into the reference count API becomes a liability.  Socket
> reference counting is one example of this: in some ways, it's a general
> purpose reference count, but the GC behavior is specific to sockets and
> depends on additional uncounted references from file descriptors and the
> prototocol layer.

That's the problem... "uncounted references". Either you are counting
references or you are not..





> 
> That said, I think making sure people get reference counts right is
> important: at the very least, I think it would be useful to have a
> refcount(9) man page with a well thought out example of a simple reference
> count implementation, or a pointer at such an implementation (ucred isn't
> bad). 
> 
> Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
> robert@fledge.watson.org      Senior Research Scientist, McAfee Research
> 
> 
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0406121758140.95601-100000>