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 <[EMAIL PROTECTED]> -- 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 [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message