Tachyon (current)  Current Main Branch
Data Fields
rt_run_barrier_struct Struct Reference

run-barrier sync object with padding to prevent false sharing More...

#include <threads.h>

Data Fields

int padding1 [8]
 Pad to avoid false sharing, cache aliasing. More...
 
rt_mutex_t lock
 Mutex lock for the structure. More...
 
int n_clients
 Number of threads to wait for at barrier. More...
 
int n_waiting
 Number of currently waiting threads. More...
 
int phase
 Flag to separate waiters from fast workers. More...
 
void *(* fctn )(void *)
 Fctn ptr to call, or NULL if done. More...
 
void * parms
 parms for fctn pointer More...
 
void *(* rslt )(void *)
 Fctn ptr to return to barrier wait callers. More...
 
void * rsltparms
 parms to return to barrier wait callers More...
 
rt_cond_t wait_cv
 Clients wait on condition variable to proceed. More...
 
int padding2 [8]
 Pad to avoid false sharing, cache aliasing. More...
 

Detailed Description

run-barrier sync object with padding to prevent false sharing

Definition at line 209 of file threads.h.

Field Documentation

◆ fctn

void*(* rt_run_barrier_struct::fctn) (void *)

Fctn ptr to call, or NULL if done.

Definition at line 215 of file threads.h.

Referenced by rt_thread_run_barrier_init().

◆ lock

rt_mutex_t rt_run_barrier_struct::lock

Mutex lock for the structure.

Definition at line 211 of file threads.h.

Referenced by rt_thread_run_barrier_destroy(), rt_thread_run_barrier_init(), and rt_thread_run_barrier_poll().

◆ n_clients

int rt_run_barrier_struct::n_clients

Number of threads to wait for at barrier.

Definition at line 212 of file threads.h.

Referenced by rt_thread_run_barrier_init(), and rt_thread_run_barrier_poll().

◆ n_waiting

int rt_run_barrier_struct::n_waiting

Number of currently waiting threads.

Definition at line 213 of file threads.h.

Referenced by rt_thread_run_barrier_init(), and rt_thread_run_barrier_poll().

◆ padding1

int rt_run_barrier_struct::padding1[8]

Pad to avoid false sharing, cache aliasing.

Definition at line 210 of file threads.h.

◆ padding2

int rt_run_barrier_struct::padding2[8]

Pad to avoid false sharing, cache aliasing.

Definition at line 220 of file threads.h.

◆ parms

void* rt_run_barrier_struct::parms

parms for fctn pointer

Definition at line 216 of file threads.h.

◆ phase

int rt_run_barrier_struct::phase

Flag to separate waiters from fast workers.

Definition at line 214 of file threads.h.

Referenced by rt_thread_run_barrier_init().

◆ rslt

void*(* rt_run_barrier_struct::rslt) (void *)

Fctn ptr to return to barrier wait callers.

Definition at line 217 of file threads.h.

◆ rsltparms

void* rt_run_barrier_struct::rsltparms

parms to return to barrier wait callers

Definition at line 218 of file threads.h.

◆ wait_cv

rt_cond_t rt_run_barrier_struct::wait_cv

Clients wait on condition variable to proceed.

Definition at line 219 of file threads.h.

Referenced by rt_thread_run_barrier_destroy(), and rt_thread_run_barrier_init().


The documentation for this struct was generated from the following file: