HPCToolkit
lush-pthread.h File Reference
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>
#include <include/gcc-attr.h>
#include <include/min-max.h>
#include "lush-pthread.i"
#include "lush-backtrace.h"
#include <safe-sampling.h>
#include <sample_event.h>
#include <cct/cct.h>
#include <metrics.h>
#include <lib/prof-lean/BalancedTree.h>
#include <lib/support-lean/timer.h>
Include dependency graph for lush-pthread.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LUSH_PTHR_FN_TY   1
 
#define LUSH_PTHR_DBG   0
 
#define LUSH_PTHR_FN_REAL0(FN, TY)   FN ## _ty ## TY
 
#define LUSH_PTHR_FN_REAL1(FN, TY)   LUSH_PTHR_FN_REAL0(FN, TY)
 
#define LUSH_PTHR_FN(FN)   LUSH_PTHR_FN_REAL1(FN, LUSH_PTHR_FN_TY)
 
#define LUSH_PTHR_SYNC_SMPL_PERIOD   33 /* if !0, sample synchronously */
 
#define lushPthr_LockValMax   (0x0)
 
#define lushPthr_UnlckVal   (0x1)
 
#define lushPthr_DestroyVal   (-1)
 
#define lushPthr_maxValueOfLock   (1)
 

Functions

void lushPthr_processInit ()
 
void lushPthr_init (lushPthr_t *x)
 
void lushPthr_dump (lushPthr_t *x, const char *nm, void *lock)
 
static void lushPthr_begSmplIdleness (lushPthr_t *x)
 
static void lushPthr_endSmplIdleness (lushPthr_t *x)
 
static cct_node_tlushPthr_attribToCallPath (uint64_t idlenessIncr)
 
static void lushPthr_thread_init_ty1 (lushPthr_t *x)
 
static void lushPthr_thread_fini_ty1 (lushPthr_t *x)
 
static void lushPthr_mutexLock_pre_ty1 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexLock_post_ty1 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexTrylock_post_ty1 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexUnlock_post_ty1 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinLock_pre_ty1 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinLock_post_ty1 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinTrylock_pre_ty1 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinTrylock_post_ty1 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinUnlock_pre_ty1 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinUnlock_post_ty1 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinDestroy_pre_ty1 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinDestroy_post_ty1 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_condwait_pre_ty1 (lushPthr_t *x)
 
static void lushPthr_condwait_post_ty1 (lushPthr_t *x)
 
static bool lushPthr_isDirectlyInCond (lushPthr_t *x)
 
static bool lushPthr_isWorking_lock (lushPthr_t *x)
 
static bool lushPthr_isWorking_cond (lushPthr_t *x)
 
static void lushPthr_thread_init_ty2 (lushPthr_t *x)
 
static void lushPthr_thread_fini_ty2 (lushPthr_t *x)
 
static void lushPthr_lock_pre_ty2 (lushPthr_t *x)
 
static void lushPthr_lock_post_ty2 (lushPthr_t *x)
 
static void lushPthr_trylock_ty2 (lushPthr_t *x)
 
static void lushPthr_unlock_ty2 (lushPthr_t *x)
 
static void lushPthr_mutexLock_pre_ty2 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexLock_post_ty2 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexTrylock_post_ty2 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexUnlock_post_ty2 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinLock_pre_ty2 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinLock_post_ty2 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinTrylock_pre_ty2 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinTrylock_post_ty2 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinUnlock_pre_ty2 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinUnlock_post_ty2 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinDestroy_pre_ty2 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinDestroy_post_ty2 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_condwait_pre_ty2 (lushPthr_t *x)
 
static void lushPthr_condwait_post_ty2 (lushPthr_t *x)
 
static bool lushPthr_isSyncDataPointer (pthread_spinlock_t lockval)
 
static lushPtr_SyncObjData_t * lushPthr_getSyncDataPointer (atomic_pthread_spinlock_t lockval)
 
static int32_t lushPthr_makeSyncDataPointer (lushPtr_SyncObjData_t *data)
 
static void lushPthr_destroySyncDataPointer (atomic_pthread_spinlock_t *lock)
 
static void lushPthr_freelstEnq (lushPthr_t *restrict pthr, lushPtr_SyncObjData_t *restrict x)
 
static lushPtr_SyncObjData_t * lushPthr_freelstDeq (lushPthr_t *pthr)
 
static lushPtr_SyncObjData_t * lushPthr_makeSyncObjData_spin (lushPthr_t *restrict pthr, atomic_pthread_spinlock_t *restrict lock)
 
static lushPtr_SyncObjData_t * lushPthr_demandSyncObjData_spin (lushPthr_t *restrict pthr, atomic_pthread_spinlock_t *restrict lock)
 
static lushPtr_SyncObjData_t * lushPthr_demandCachedSyncObjData_spin (lushPthr_t *restrict pthr, atomic_pthread_spinlock_t *restrict lock)
 
static lushPtr_SyncObjData_t * lushPthr_demandSyncObjData_ps (lushPthr_t *restrict x, void *restrict syncObj)
 
static lushPtr_SyncObjData_t * lushPthr_demandSyncObjData (lushPthr_t *restrict x, void *restrict syncObj)
 
static lushPtr_SyncObjData_t * lushPthr_demandCachedSyncObjData (lushPthr_t *restrict pthr, void *restrict syncObj)
 
static int lushPthr_spin_lock (atomic_pthread_spinlock_t *lock)
 
static int lushPthr_spin_trylock (atomic_pthread_spinlock_t *lock)
 
static int lushPthr_spin_unlock (atomic_pthread_spinlock_t *lock)
 
static void lushPthr_thread_init_ty3 (lushPthr_t *x)
 
static void lushPthr_thread_fini_ty3 (lushPthr_t *x)
 
static void lushPthr_mutexLock_pre_ty3 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexLock_post_ty3 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexTrylock_post_ty3 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexUnlock_post_ty3 (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinLock_pre_ty3 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinLock_post_ty3 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinTrylock_pre_ty3 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinTrylock_post_ty3 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinUnlock_pre_ty3 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinUnlock_post_ty3 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinDestroy_pre_ty3 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinDestroy_post_ty3 (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_condwait_pre_ty3 (lushPthr_t *x)
 
static void lushPthr_condwait_post_ty3 (lushPthr_t *x)
 
static void lushPthr_thread_init (lushPthr_t *x)
 
static void lushPthr_thread_fini (lushPthr_t *x)
 
static void lushPthr_mutexLock_pre (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexLock_post (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static void lushPthr_mutexTrylock_post (lushPthr_t *restrict x, pthread_mutex_t *restrict lock, int result)
 
static void lushPthr_mutexUnlock_post (lushPthr_t *restrict x, pthread_mutex_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinLock_pre (lushPthr_t *restrict x, atomic_pthread_spinlock_t *lock)
 
static void lushPthr_spinLock_post (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinTrylock_pre (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinTrylock_post (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock, int result)
 
static atomic_pthread_spinlock_t * lushPthr_spinUnlock_pre (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinUnlock_post (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static atomic_pthread_spinlock_t * lushPthr_spinDestroy_pre (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_spinDestroy_post (lushPthr_t *restrict x, atomic_pthread_spinlock_t *restrict lock)
 
static void lushPthr_condwait_pre (lushPthr_t *x)
 
static void lushPthr_condwait_post (lushPthr_t *x)
 

Macro Definition Documentation

◆ LUSH_PTHR_DBG

#define LUSH_PTHR_DBG   0

Definition at line 96 of file lush-pthread.h.

◆ LUSH_PTHR_FN

#define LUSH_PTHR_FN (   FN)    LUSH_PTHR_FN_REAL1(FN, LUSH_PTHR_FN_TY)

Definition at line 121 of file lush-pthread.h.

◆ LUSH_PTHR_FN_REAL0

#define LUSH_PTHR_FN_REAL0 (   FN,
  TY 
)    FN ## _ty ## TY

Definition at line 119 of file lush-pthread.h.

◆ LUSH_PTHR_FN_REAL1

#define LUSH_PTHR_FN_REAL1 (   FN,
  TY 
)    LUSH_PTHR_FN_REAL0(FN, TY)

Definition at line 120 of file lush-pthread.h.

◆ LUSH_PTHR_FN_TY

#define LUSH_PTHR_FN_TY   1

Definition at line 94 of file lush-pthread.h.

◆ LUSH_PTHR_SYNC_SMPL_PERIOD

#define LUSH_PTHR_SYNC_SMPL_PERIOD   33 /* if !0, sample synchronously */

Definition at line 127 of file lush-pthread.h.

◆ lushPthr_DestroyVal

#define lushPthr_DestroyVal   (-1)

Definition at line 582 of file lush-pthread.h.

◆ lushPthr_LockValMax

#define lushPthr_LockValMax   (0x0)

Definition at line 580 of file lush-pthread.h.

◆ lushPthr_maxValueOfLock

#define lushPthr_maxValueOfLock   (1)

Definition at line 584 of file lush-pthread.h.

◆ lushPthr_UnlckVal

#define lushPthr_UnlckVal   (0x1)

Definition at line 581 of file lush-pthread.h.

Function Documentation

◆ lushPthr_attribToCallPath()

static cct_node_t* lushPthr_attribToCallPath ( uint64_t  idlenessIncr)
inlinestatic

Definition at line 158 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_begSmplIdleness()

static void lushPthr_begSmplIdleness ( lushPthr_t *  x)
inlinestatic

Definition at line 130 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_condwait_post()

static void lushPthr_condwait_post ( lushPthr_t *  x)
inlinestatic

Definition at line 1243 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_condwait_post_ty1()

static void lushPthr_condwait_post_ty1 ( lushPthr_t *  x)
inlinestatic

Definition at line 304 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_condwait_post_ty2()

static void lushPthr_condwait_post_ty2 ( lushPthr_t *  x)
inlinestatic

Definition at line 562 of file lush-pthread.h.

◆ lushPthr_condwait_post_ty3()

static void lushPthr_condwait_post_ty3 ( lushPthr_t *  x)
inlinestatic

Definition at line 1050 of file lush-pthread.h.

◆ lushPthr_condwait_pre()

static void lushPthr_condwait_pre ( lushPthr_t *  x)
inlinestatic

Definition at line 1233 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_condwait_pre_ty1()

static void lushPthr_condwait_pre_ty1 ( lushPthr_t *  x)
inlinestatic

Definition at line 296 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_condwait_pre_ty2()

static void lushPthr_condwait_pre_ty2 ( lushPthr_t *  x)
inlinestatic

Definition at line 542 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_condwait_pre_ty3()

static void lushPthr_condwait_pre_ty3 ( lushPthr_t *  x)
inlinestatic

Definition at line 1042 of file lush-pthread.h.

◆ lushPthr_demandCachedSyncObjData()

static lushPtr_SyncObjData_t* lushPthr_demandCachedSyncObjData ( lushPthr_t *restrict  pthr,
void *restrict  syncObj 
)
inlinestatic

Definition at line 774 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_demandCachedSyncObjData_spin()

static lushPtr_SyncObjData_t* lushPthr_demandCachedSyncObjData_spin ( lushPthr_t *restrict  pthr,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 723 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_demandSyncObjData()

static lushPtr_SyncObjData_t* lushPthr_demandSyncObjData ( lushPthr_t *restrict  x,
void *restrict  syncObj 
)
inlinestatic

Definition at line 756 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_demandSyncObjData_ps()

static lushPtr_SyncObjData_t* lushPthr_demandSyncObjData_ps ( lushPthr_t *restrict  x,
void *restrict  syncObj 
)
inlinestatic

Definition at line 735 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_demandSyncObjData_spin()

static lushPtr_SyncObjData_t* lushPthr_demandSyncObjData_spin ( lushPthr_t *restrict  pthr,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 689 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_destroySyncDataPointer()

static void lushPthr_destroySyncDataPointer ( atomic_pthread_spinlock_t *  lock)
inlinestatic

Definition at line 610 of file lush-pthread.h.

Here is the caller graph for this function:

◆ lushPthr_dump()

void lushPthr_dump ( lushPthr_t *  x,
const char *  nm,
void *  lock 
)

Definition at line 225 of file lush-pthread.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_endSmplIdleness()

static void lushPthr_endSmplIdleness ( lushPthr_t *  x)
inlinestatic

Definition at line 144 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_freelstDeq()

static lushPtr_SyncObjData_t* lushPthr_freelstDeq ( lushPthr_t *  pthr)
inlinestatic

Definition at line 640 of file lush-pthread.h.

Here is the caller graph for this function:

◆ lushPthr_freelstEnq()

static void lushPthr_freelstEnq ( lushPthr_t *restrict  pthr,
lushPtr_SyncObjData_t *restrict  x 
)
inlinestatic

Definition at line 618 of file lush-pthread.h.

Here is the caller graph for this function:

◆ lushPthr_getSyncDataPointer()

static lushPtr_SyncObjData_t* lushPthr_getSyncDataPointer ( atomic_pthread_spinlock_t  lockval)
inlinestatic

Definition at line 596 of file lush-pthread.h.

Here is the caller graph for this function:

◆ lushPthr_init()

void lushPthr_init ( lushPthr_t *  x)

Definition at line 190 of file lush-pthread.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_isDirectlyInCond()

static bool lushPthr_isDirectlyInCond ( lushPthr_t *  x)
inlinestatic

Definition at line 319 of file lush-pthread.h.

Here is the caller graph for this function:

◆ lushPthr_isSyncDataPointer()

static bool lushPthr_isSyncDataPointer ( pthread_spinlock_t  lockval)
inlinestatic

Definition at line 589 of file lush-pthread.h.

Here is the caller graph for this function:

◆ lushPthr_isWorking_cond()

static bool lushPthr_isWorking_cond ( lushPthr_t *  x)
inlinestatic

Definition at line 333 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_isWorking_lock()

static bool lushPthr_isWorking_lock ( lushPthr_t *  x)
inlinestatic

Definition at line 326 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_lock_post_ty2()

static void lushPthr_lock_post_ty2 ( lushPthr_t *  x)
inlinestatic

Definition at line 387 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_lock_pre_ty2()

static void lushPthr_lock_pre_ty2 ( lushPthr_t *  x)
inlinestatic

Definition at line 373 of file lush-pthread.h.

Here is the caller graph for this function:

◆ lushPthr_makeSyncDataPointer()

static int32_t lushPthr_makeSyncDataPointer ( lushPtr_SyncObjData_t *  data)
inlinestatic

Definition at line 603 of file lush-pthread.h.

Here is the caller graph for this function:

◆ lushPthr_makeSyncObjData_spin()

static lushPtr_SyncObjData_t* lushPthr_makeSyncObjData_spin ( lushPthr_t *restrict  pthr,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 666 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_mutexLock_post()

static void lushPthr_mutexLock_post ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 1097 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_mutexLock_post_ty1()

static void lushPthr_mutexLock_post_ty1 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 204 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_mutexLock_post_ty2()

static void lushPthr_mutexLock_post_ty2 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 454 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_mutexLock_post_ty3()

static void lushPthr_mutexLock_post_ty3 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 900 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_mutexLock_pre()

static void lushPthr_mutexLock_pre ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 1087 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_mutexLock_pre_ty1()

static void lushPthr_mutexLock_pre_ty1 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 192 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_mutexLock_pre_ty2()

static void lushPthr_mutexLock_pre_ty2 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 446 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_mutexLock_pre_ty3()

static void lushPthr_mutexLock_pre_ty3 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 882 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_mutexTrylock_post()

static void lushPthr_mutexTrylock_post ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock,
int  result 
)
inlinestatic

Definition at line 1107 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_mutexTrylock_post_ty1()

static void lushPthr_mutexTrylock_post_ty1 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 216 of file lush-pthread.h.

◆ lushPthr_mutexTrylock_post_ty2()

static void lushPthr_mutexTrylock_post_ty2 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 462 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_mutexTrylock_post_ty3()

static void lushPthr_mutexTrylock_post_ty3 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 922 of file lush-pthread.h.

◆ lushPthr_mutexUnlock_post()

static void lushPthr_mutexUnlock_post ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 1123 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_mutexUnlock_post_ty1()

static void lushPthr_mutexUnlock_post_ty1 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 224 of file lush-pthread.h.

◆ lushPthr_mutexUnlock_post_ty2()

static void lushPthr_mutexUnlock_post_ty2 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 470 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_mutexUnlock_post_ty3()

static void lushPthr_mutexUnlock_post_ty3 ( lushPthr_t *restrict  x,
pthread_mutex_t *restrict  lock 
)
inlinestatic

Definition at line 930 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_processInit()

void lushPthr_processInit ( )

Definition at line 147 of file lush-pthread.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spin_lock()

static int lushPthr_spin_lock ( atomic_pthread_spinlock_t *  lock)
inlinestatic

Definition at line 788 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spin_trylock()

static int lushPthr_spin_trylock ( atomic_pthread_spinlock_t *  lock)
inlinestatic

Definition at line 819 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spin_unlock()

static int lushPthr_spin_unlock ( atomic_pthread_spinlock_t *  lock)
inlinestatic

Definition at line 847 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spinDestroy_post()

static void lushPthr_spinDestroy_post ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 1218 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spinDestroy_post_ty1()

static void lushPthr_spinDestroy_post_ty1 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 289 of file lush-pthread.h.

◆ lushPthr_spinDestroy_post_ty2()

static void lushPthr_spinDestroy_post_ty2 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 535 of file lush-pthread.h.

◆ lushPthr_spinDestroy_post_ty3()

static void lushPthr_spinDestroy_post_ty3 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 1030 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_spinDestroy_pre()

static atomic_pthread_spinlock_t* lushPthr_spinDestroy_pre ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 1208 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spinDestroy_pre_ty1()

static atomic_pthread_spinlock_t* lushPthr_spinDestroy_pre_ty1 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 281 of file lush-pthread.h.

◆ lushPthr_spinDestroy_pre_ty2()

static atomic_pthread_spinlock_t* lushPthr_spinDestroy_pre_ty2 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 527 of file lush-pthread.h.

◆ lushPthr_spinDestroy_pre_ty3()

static atomic_pthread_spinlock_t* lushPthr_spinDestroy_pre_ty3 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 1016 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_spinLock_post()

static void lushPthr_spinLock_post ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 1149 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spinLock_post_ty1()

static void lushPthr_spinLock_post_ty1 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 241 of file lush-pthread.h.

◆ lushPthr_spinLock_post_ty2()

static void lushPthr_spinLock_post_ty2 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 487 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_spinLock_post_ty3()

static void lushPthr_spinLock_post_ty3 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 964 of file lush-pthread.h.

◆ lushPthr_spinLock_pre()

static atomic_pthread_spinlock_t* lushPthr_spinLock_pre ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *  lock 
)
inlinestatic

Definition at line 1138 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spinLock_pre_ty1()

static atomic_pthread_spinlock_t* lushPthr_spinLock_pre_ty1 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 232 of file lush-pthread.h.

◆ lushPthr_spinLock_pre_ty2()

static atomic_pthread_spinlock_t* lushPthr_spinLock_pre_ty2 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 478 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_spinLock_pre_ty3()

static atomic_pthread_spinlock_t* lushPthr_spinLock_pre_ty3 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 947 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_spinTrylock_post()

static void lushPthr_spinTrylock_post ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock,
int  result 
)
inlinestatic

Definition at line 1171 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spinTrylock_post_ty1()

static void lushPthr_spinTrylock_post_ty1 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 257 of file lush-pthread.h.

◆ lushPthr_spinTrylock_post_ty2()

static void lushPthr_spinTrylock_post_ty2 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 503 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_spinTrylock_post_ty3()

static void lushPthr_spinTrylock_post_ty3 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 983 of file lush-pthread.h.

◆ lushPthr_spinTrylock_pre()

static atomic_pthread_spinlock_t* lushPthr_spinTrylock_pre ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 1160 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spinTrylock_pre_ty1()

static atomic_pthread_spinlock_t* lushPthr_spinTrylock_pre_ty1 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 249 of file lush-pthread.h.

◆ lushPthr_spinTrylock_pre_ty2()

static atomic_pthread_spinlock_t* lushPthr_spinTrylock_pre_ty2 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 495 of file lush-pthread.h.

◆ lushPthr_spinTrylock_pre_ty3()

static atomic_pthread_spinlock_t* lushPthr_spinTrylock_pre_ty3 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 973 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_spinUnlock_post()

static void lushPthr_spinUnlock_post ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 1198 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spinUnlock_post_ty1()

static void lushPthr_spinUnlock_post_ty1 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 273 of file lush-pthread.h.

◆ lushPthr_spinUnlock_post_ty2()

static void lushPthr_spinUnlock_post_ty2 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 519 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_spinUnlock_post_ty3()

static void lushPthr_spinUnlock_post_ty3 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 1001 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_spinUnlock_pre()

static atomic_pthread_spinlock_t* lushPthr_spinUnlock_pre ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 1187 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_spinUnlock_pre_ty1()

static atomic_pthread_spinlock_t* lushPthr_spinUnlock_pre_ty1 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 265 of file lush-pthread.h.

◆ lushPthr_spinUnlock_pre_ty2()

static atomic_pthread_spinlock_t* lushPthr_spinUnlock_pre_ty2 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 511 of file lush-pthread.h.

◆ lushPthr_spinUnlock_pre_ty3()

static atomic_pthread_spinlock_t* lushPthr_spinUnlock_pre_ty3 ( lushPthr_t *restrict  x,
atomic_pthread_spinlock_t *restrict  lock 
)
inlinestatic

Definition at line 991 of file lush-pthread.h.

Here is the call graph for this function:

◆ lushPthr_thread_fini()

static void lushPthr_thread_fini ( lushPthr_t *  x)
inlinestatic

Definition at line 1073 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_thread_fini_ty1()

static void lushPthr_thread_fini_ty1 ( lushPthr_t *  x)
inlinestatic

Definition at line 185 of file lush-pthread.h.

◆ lushPthr_thread_fini_ty2()

static void lushPthr_thread_fini_ty2 ( lushPthr_t *  x)
inlinestatic

Definition at line 357 of file lush-pthread.h.

◆ lushPthr_thread_fini_ty3()

static void lushPthr_thread_fini_ty3 ( lushPthr_t *  x)
inlinestatic

Definition at line 875 of file lush-pthread.h.

◆ lushPthr_thread_init()

static void lushPthr_thread_init ( lushPthr_t *  x)
inlinestatic

Definition at line 1063 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_thread_init_ty1()

static void lushPthr_thread_init_ty1 ( lushPthr_t *  x)
inlinestatic

Definition at line 178 of file lush-pthread.h.

◆ lushPthr_thread_init_ty2()

static void lushPthr_thread_init_ty2 ( lushPthr_t *  x)
inlinestatic

Definition at line 341 of file lush-pthread.h.

◆ lushPthr_thread_init_ty3()

static void lushPthr_thread_init_ty3 ( lushPthr_t *  x)
inlinestatic

Definition at line 868 of file lush-pthread.h.

◆ lushPthr_trylock_ty2()

static void lushPthr_trylock_ty2 ( lushPthr_t *  x)
inlinestatic

Definition at line 406 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lushPthr_unlock_ty2()

static void lushPthr_unlock_ty2 ( lushPthr_t *  x)
inlinestatic

Definition at line 425 of file lush-pthread.h.

Here is the call graph for this function:
Here is the caller graph for this function: