RTEMS  5.0.0
Files | Data Structures | Macros | Functions
SMP Barriers

The SMP barrier provides barrier synchronization for SMP systems at the lowest level. More...

Files

file  smpbarrier.h
 SMP Barrier API.
 

Data Structures

struct  SMP_barrier_Control
 SMP barrier control. More...
 
struct  SMP_barrier_State
 SMP barrier per-thread state. More...
 

Macros

#define SMP_BARRIER_CONTROL_INITIALIZER   { ATOMIC_INITIALIZER_UINT( 0U ), ATOMIC_INITIALIZER_UINT( 0U ) }
 SMP barrier control initializer for static initialization.
 
#define SMP_BARRIER_STATE_INITIALIZER   { 0U }
 SMP barrier per-thread state initializer for static initialization.
 

Functions

bool _SMP_barrier_Wait (SMP_barrier_Control *control, SMP_barrier_State *state, unsigned int count)
 Waits on the SMP barrier until count threads rendezvoused. More...
 

Detailed Description

The SMP barrier provides barrier synchronization for SMP systems at the lowest level.

The SMP barrier is implemented as a sense barrier, see also Herlihy and Shavit, "The Art of Multiprocessor Programming", 17.3 Sense-Reversing Barrier.

Function Documentation

◆ _SMP_barrier_Wait()

bool _SMP_barrier_Wait ( SMP_barrier_Control control,
SMP_barrier_State state,
unsigned int  count 
)

Waits on the SMP barrier until count threads rendezvoused.

Parameters
[in,out]controlThe SMP barrier control.
[in,out]stateThe SMP barrier per-thread state.
[in]countThe thread count bound to rendezvous.
Return values
trueThis processor performed the barrier release.
falseOtherwise.