Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Mar 2002 16:51:57 -0500 (EST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Julian Elischer <julian@elischer.org>
Cc:        arch@freebsd.org
Subject:   RE: SMP safe reference counting
Message-ID:  <XFMail.20020327165157.jhb@FreeBSD.org>
In-Reply-To: <Pine.BSF.4.21.0203271150430.47944-100000@InterJet.elischer.org>

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

On 27-Mar-2002 Julian Elischer wrote:
> 
> [please remove -smp from your reply]
> 
> Once again on the SMP list a lock is being used to make a reference count 
> safe. I'd like to re-raise the issue of a safe reference counting 
> fascility.
> 
> what would be the semantics?

I have refcount.patch :)  What would be nice is to first implement
atomic_fetchadd() (xadd on 486+, some hack on 386, fetchadd on ia64, similar to
atomic_add on sparc64, alpha, and powerpc I believe, basically it would add a
value to a memory location and return the result).  You can then use taht for
the reference_release (or whatever you call it).  We could also use that to get
rid of the really bloated debug version that uses a mutex and have a much
smaller debug version that still uses atomic ops.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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