RTEMS 6.1-rc4
Loading...
Searching...
No Matches
Files | Data Structures | Macros | Functions
SMP Barriers

This group contains the SMP barrier implementation. More...

Files

file  smpbarrier.h
 This header file provides the interfaces of the SMP Barriers.
 
file  smpbarrierwait.c
 This source file contains the implementation of _SMP_barrier_Wait().
 

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.
 

Detailed Description

This group contains the SMP barrier implementation.

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.
countThe thread count bound to rendezvous.
Return values
trueThis processor performed the barrier release.
falseThis processor did not performe the barrier release.