Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Jan 2001 15:16:28 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Matthew Emmerton <matt@gsicomp.on.ca>
Cc:        freebsd-hackers@FreeBSD.org
Subject:   RE: Atomic bit operations
Message-ID:  <XFMail.010131151628.jhb@FreeBSD.org>
In-Reply-To: <016801c08bbb$d29a32c0$1200a8c0@gsicomp.on.ca>

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

On 31-Jan-01 Matthew Emmerton wrote:
> Hi all,
> 
> I've taken a look around for an implementation of atomic bit operations in
> FreeBSD (similar to Linux' asm/bitopt.h, which include clear_bit() and
> test_and_set_bit()) but haven't found any.  The only thing I've found are
> the atomic clear/set/add/sub routines in machine/atomic.h.
> 
> Do we have an implementation of atomic bit operations, and if we don't,
> would we like some?

Erm, atomic_set() sets's bits, and atomic_clear() clear's bits.  Anything else
you might need can be done with atomic_cmpset() anyways.  Also, atomic
operations are very hard to debug, esp. to check for race conditions, so there
direct use is discouraged.  Instead, use a higher level primitive such as a
mutex or other appropriate lock.  There is also talk of a potential abstract
refcount type so that simple reference counts can be optimized, though that has
been shot down thus far.

> --
> Matt Emmerton

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


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




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