Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

membar_ops(3) [netbsd man page]

MEMBAR_OPS(3)						   BSD Library Functions Manual 					     MEMBAR_OPS(3)

NAME
membar_ops, membar_enter, membar_exit, membar_producer, membar_consumer, membar_sync -- memory access barrier operations SYNOPSIS
#include <sys/atomic.h> void membar_enter(void); void membar_exit(void); void membar_producer(void); void membar_consumer(void); void membar_sync(void); DESCRIPTION
The membar_ops family of functions provide memory access barrier operations necessary for synchronization in multiprocessor execution envi- ronments that have relaxed load and store order. membar_enter() Any store preceding membar_enter() will reach global visibility before all loads and stores following it. membar_enter() is typically used in code that implements locking primitives to ensure that a lock protects its data. membar_exit() All loads and stores preceding membar_exit() will reach global visibility before any store that follows it. membar_exit() is typically used in code that implements locking primitives to ensure that a lock protects its data. membar_producer() All stores preceding the memory barrier will reach global visibility before any stores after the memory barrier reach global visibility. membar_consumer() All loads preceding the memory barrier will complete before any loads after the memory barrier complete. membar_sync() All loads and stores preceding the memory barrier will complete and reach global visibility before any loads and stores after the memory barrier complete and reach global visibility. SEE ALSO
atomic_ops(3) HISTORY
The membar_ops functions first appeared in NetBSD 5.0. BSD
February 11, 2007 BSD

Check Out this Related Man Page

MEMBAR_OPS(3)						   BSD Library Functions Manual 					     MEMBAR_OPS(3)

NAME
membar_ops, membar_enter, membar_exit, membar_producer, membar_consumer, membar_sync -- memory access barrier operations SYNOPSIS
#include <sys/atomic.h> void membar_enter(void); void membar_exit(void); void membar_producer(void); void membar_consumer(void); void membar_sync(void); DESCRIPTION
The membar_ops family of functions provide memory access barrier operations necessary for synchronization in multiprocessor execution envi- ronments that have relaxed load and store order. membar_enter() Any store preceding membar_enter() will reach global visibility before all loads and stores following it. membar_enter() is typically used in code that implements locking primitives to ensure that a lock protects its data. membar_exit() All loads and stores preceding membar_exit() will reach global visibility before any store that follows it. membar_exit() is typically used in code that implements locking primitives to ensure that a lock protects its data. membar_producer() All stores preceding the memory barrier will reach global visibility before any stores after the memory barrier reach global visibility. membar_consumer() All loads preceding the memory barrier will complete before any loads after the memory barrier complete. membar_sync() All loads and stores preceding the memory barrier will complete and reach global visibility before any loads and stores after the memory barrier complete and reach global visibility. SEE ALSO
atomic_ops(3) HISTORY
The membar_ops functions first appeared in NetBSD 5.0. BSD
February 11, 2007 BSD
Man Page