NAME
OOSSMMeemmoorryyBBaarrrriieerr - memory barrier to order loads and stores
LLIIBBRRAARRYYStandard C Library (libc, -lc)
SYNOPSIS
##iinncclluuddee <
void OOSSMMeemmoorryyBBaarrrriieerr(void);> DESCRIPTION
OOSSMMeemmoorryyBBaarrrriieerr() strictly orders memory accesses in a weakly orderedmemory model such as with PowerPC, by creating a barrier. All loads and
stores executed in sequential program order before the barrier will com-
plete with respect to the memory coherence mechanism, before any load orstore executed after the barrier. Used with an atomic operation, the
barrier can be used to create custom synchronization protocols as an
alternative to the spinlock or queue/dequeue operations. Note that thisbarrier does not order uncached loads and stores. On a uniprocessor, the
barrier operation is typically optimized into a nop.
SEE ALSO
atomic(3), atomicqueue(3), spinlock(3) Darwin May 26, 2004 Darwin