ATOMIC_OPS man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

ATOMIC_OPS(9F)							ATOMIC_OPS(9F)

NAME
       atomic_ops - atomic operations

SYNOPSIS
       #include <sys/atomic.h>

DESCRIPTION
       This  collection	 of functions provides atomic memory operations. There
       are 8 different classes of atomic operations:

       atomic_add(9F)
			  These functions provide  an  atomic  addition	 of  a
			  signed value to a variable.

       atomic_and(9F)
			  These functions provide an atomic logical 'and' of a
			  value to a variable.

       atomic_bits(9F)
			  These	 functions  provide  atomic  bit  setting  and
			  clearing within a variable.

       atomic_cas(9F)
			  These	 functions  provide  an atomic comparison of a
			  value with a variable. If the comparison  is	equal,
			  then swap in a new value for the variable, returning
			  the old value of the variable in either case.

       atomic_dec(9F)
			  These functions provide an  atomic  decrement	 on  a
			  variable.

       atomic_inc(9F)
			  These	 functions  provide  an	 atomic increment on a
			  variable.

       atomic_or(9F)
			  These functions provide an atomic logical 'or' of  a
			  value to a variable.

       atomic_swap(9F)
			  These	 functions  provide  an atomic swap of a value
			  with a variable, returning  the  old	value  of  the
			  variable.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Committed	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       atomic_add(9F),	  atomic_and(9F),   atomic_bits(9F),   atomic_cas(9F),
       atomic_dec(9F), atomic_inc(9F),	atomic_or(9F),	atomic_swap(9F),  mem‐
       bar_ops(9F), attributes(5)

NOTES
       Atomic  instructions  ensure  global  visibility of atomically-modified
       variables on completion.	 In a relaxed store order  system,  this  does
       not  guarantee  that the visibility of other variables will be synchro‐
       nized with the completion of the atomic instruction. If	such  synchro‐
       nization	 is  required,	memory	barrier instructions must be used. See
       membar_ops(9F).

       Atomic instructions can be expensive. since they	 require  synchroniza‐
       tion  to occur at a hardware level. This means they should be used with
       care to ensure that forcing hardware  level  synchronization  occurs  a
       minimum	number	of  times.  For example, if you have several variables
       that need to be incremented as a group, and each needs to be done atom‐
       ically,	then  do  so  with  a  mutex lock protecting all of them being
       incremented rather than using the atomic_inc(9F) operation on  each  of
       them.

				 Mar 28, 2005			ATOMIC_OPS(9F)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net