LLVM OpenMP 19.0.0git
Macros | Functions | Variables
kmp_lock.cpp File Reference
#include <stddef.h>
#include <atomic>
#include "kmp.h"
#include "kmp_i18n.h"
#include "kmp_io.h"
#include "kmp_itt.h"
#include "kmp_lock.h"
#include "kmp_wait_release.h"
#include "kmp_wrapper_getpid.h"

Go to the source code of this file.

Macros

#define __kmp_tsc()   __kmp_now_nsec()
 
#define IS_CRITICAL(lck)
 

Functions

void __kmp_validate_locks (void)
 
static kmp_int32 __kmp_get_tas_lock_owner (kmp_tas_lock_t *lck)
 
static bool __kmp_is_tas_lock_nestable (kmp_tas_lock_t *lck)
 
static __forceinline int __kmp_acquire_tas_lock_timed_template (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
int __kmp_acquire_tas_lock (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_acquire_tas_lock_with_checks (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
int __kmp_test_tas_lock (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_test_tas_lock_with_checks (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
int __kmp_release_tas_lock (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_release_tas_lock_with_checks (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
void __kmp_init_tas_lock (kmp_tas_lock_t *lck)
 
void __kmp_destroy_tas_lock (kmp_tas_lock_t *lck)
 
static void __kmp_destroy_tas_lock_with_checks (kmp_tas_lock_t *lck)
 
int __kmp_acquire_nested_tas_lock (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_acquire_nested_tas_lock_with_checks (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
int __kmp_test_nested_tas_lock (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_test_nested_tas_lock_with_checks (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
int __kmp_release_nested_tas_lock (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_release_nested_tas_lock_with_checks (kmp_tas_lock_t *lck, kmp_int32 gtid)
 
void __kmp_init_nested_tas_lock (kmp_tas_lock_t *lck)
 
void __kmp_destroy_nested_tas_lock (kmp_tas_lock_t *lck)
 
static void __kmp_destroy_nested_tas_lock_with_checks (kmp_tas_lock_t *lck)
 
static kmp_int32 __kmp_get_ticket_lock_owner (kmp_ticket_lock_t *lck)
 
static bool __kmp_is_ticket_lock_nestable (kmp_ticket_lock_t *lck)
 
static kmp_uint32 __kmp_bakery_check (void *now_serving, kmp_uint32 my_ticket)
 
static __forceinline int __kmp_acquire_ticket_lock_timed_template (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
int __kmp_acquire_ticket_lock (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_acquire_ticket_lock_with_checks (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
int __kmp_test_ticket_lock (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_test_ticket_lock_with_checks (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
int __kmp_release_ticket_lock (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_release_ticket_lock_with_checks (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
void __kmp_init_ticket_lock (kmp_ticket_lock_t *lck)
 
void __kmp_destroy_ticket_lock (kmp_ticket_lock_t *lck)
 
static void __kmp_destroy_ticket_lock_with_checks (kmp_ticket_lock_t *lck)
 
int __kmp_acquire_nested_ticket_lock (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_acquire_nested_ticket_lock_with_checks (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
int __kmp_test_nested_ticket_lock (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_test_nested_ticket_lock_with_checks (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
int __kmp_release_nested_ticket_lock (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_release_nested_ticket_lock_with_checks (kmp_ticket_lock_t *lck, kmp_int32 gtid)
 
void __kmp_init_nested_ticket_lock (kmp_ticket_lock_t *lck)
 
void __kmp_destroy_nested_ticket_lock (kmp_ticket_lock_t *lck)
 
static void __kmp_destroy_nested_ticket_lock_with_checks (kmp_ticket_lock_t *lck)
 
static const ident_t__kmp_get_ticket_lock_location (kmp_ticket_lock_t *lck)
 
static void __kmp_set_ticket_lock_location (kmp_ticket_lock_t *lck, const ident_t *loc)
 
static kmp_lock_flags_t __kmp_get_ticket_lock_flags (kmp_ticket_lock_t *lck)
 
static void __kmp_set_ticket_lock_flags (kmp_ticket_lock_t *lck, kmp_lock_flags_t flags)
 
static kmp_int32 __kmp_get_queuing_lock_owner (kmp_queuing_lock_t *lck)
 
static bool __kmp_is_queuing_lock_nestable (kmp_queuing_lock_t *lck)
 
template<bool takeTime>
static __forceinline int __kmp_acquire_queuing_lock_timed_template (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
int __kmp_acquire_queuing_lock (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_acquire_queuing_lock_with_checks (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
int __kmp_test_queuing_lock (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_test_queuing_lock_with_checks (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
int __kmp_release_queuing_lock (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_release_queuing_lock_with_checks (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
void __kmp_init_queuing_lock (kmp_queuing_lock_t *lck)
 
void __kmp_destroy_queuing_lock (kmp_queuing_lock_t *lck)
 
static void __kmp_destroy_queuing_lock_with_checks (kmp_queuing_lock_t *lck)
 
int __kmp_acquire_nested_queuing_lock (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_acquire_nested_queuing_lock_with_checks (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
int __kmp_test_nested_queuing_lock (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_test_nested_queuing_lock_with_checks (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
int __kmp_release_nested_queuing_lock (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_release_nested_queuing_lock_with_checks (kmp_queuing_lock_t *lck, kmp_int32 gtid)
 
void __kmp_init_nested_queuing_lock (kmp_queuing_lock_t *lck)
 
void __kmp_destroy_nested_queuing_lock (kmp_queuing_lock_t *lck)
 
static void __kmp_destroy_nested_queuing_lock_with_checks (kmp_queuing_lock_t *lck)
 
static const ident_t__kmp_get_queuing_lock_location (kmp_queuing_lock_t *lck)
 
static void __kmp_set_queuing_lock_location (kmp_queuing_lock_t *lck, const ident_t *loc)
 
static kmp_lock_flags_t __kmp_get_queuing_lock_flags (kmp_queuing_lock_t *lck)
 
static void __kmp_set_queuing_lock_flags (kmp_queuing_lock_t *lck, kmp_lock_flags_t flags)
 
static kmp_int32 __kmp_get_drdpa_lock_owner (kmp_drdpa_lock_t *lck)
 
static bool __kmp_is_drdpa_lock_nestable (kmp_drdpa_lock_t *lck)
 
static __forceinline int __kmp_acquire_drdpa_lock_timed_template (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
int __kmp_acquire_drdpa_lock (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_acquire_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
int __kmp_test_drdpa_lock (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_test_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
int __kmp_release_drdpa_lock (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_release_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
void __kmp_init_drdpa_lock (kmp_drdpa_lock_t *lck)
 
void __kmp_destroy_drdpa_lock (kmp_drdpa_lock_t *lck)
 
static void __kmp_destroy_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck)
 
int __kmp_acquire_nested_drdpa_lock (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
static void __kmp_acquire_nested_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
int __kmp_test_nested_drdpa_lock (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_test_nested_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
int __kmp_release_nested_drdpa_lock (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
static int __kmp_release_nested_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck, kmp_int32 gtid)
 
void __kmp_init_nested_drdpa_lock (kmp_drdpa_lock_t *lck)
 
void __kmp_destroy_nested_drdpa_lock (kmp_drdpa_lock_t *lck)
 
static void __kmp_destroy_nested_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck)
 
static const ident_t__kmp_get_drdpa_lock_location (kmp_drdpa_lock_t *lck)
 
static void __kmp_set_drdpa_lock_location (kmp_drdpa_lock_t *lck, const ident_t *loc)
 
static kmp_lock_flags_t __kmp_get_drdpa_lock_flags (kmp_drdpa_lock_t *lck)
 
static void __kmp_set_drdpa_lock_flags (kmp_drdpa_lock_t *lck, kmp_lock_flags_t flags)
 
kmp_uint64 __kmp_now_nsec ()
 
static bool before (kmp_uint64 a, kmp_uint64 b)
 
void __kmp_spin_backoff (kmp_backoff_t *boff)
 
static void __kmp_init_tas_lock_with_checks (kmp_tas_lock_t *lck)
 
static void __kmp_init_nested_tas_lock_with_checks (kmp_tas_lock_t *lck)
 
static int __kmp_is_ticket_lock_initialized (kmp_ticket_lock_t *lck)
 
static void __kmp_init_ticket_lock_with_checks (kmp_ticket_lock_t *lck)
 
static void __kmp_init_nested_ticket_lock_with_checks (kmp_ticket_lock_t *lck)
 
static int __kmp_is_queuing_lock_initialized (kmp_queuing_lock_t *lck)
 
static void __kmp_init_queuing_lock_with_checks (kmp_queuing_lock_t *lck)
 
static void __kmp_init_nested_queuing_lock_with_checks (kmp_queuing_lock_t *lck)
 
static int __kmp_is_drdpa_lock_initialized (kmp_drdpa_lock_t *lck)
 
static void __kmp_init_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck)
 
static void __kmp_init_nested_drdpa_lock_with_checks (kmp_drdpa_lock_t *lck)
 
void __kmp_set_user_lock_vptrs (kmp_lock_kind_t user_lock_kind)
 
static kmp_lock_index_t __kmp_lock_table_insert (kmp_user_lock_p lck)
 
static kmp_user_lock_p __kmp_lock_block_allocate ()
 
kmp_user_lock_p __kmp_user_lock_allocate (void **user_lock, kmp_int32 gtid, kmp_lock_flags_t flags)
 
void __kmp_user_lock_free (void **user_lock, kmp_int32 gtid, kmp_user_lock_p lck)
 
kmp_user_lock_p __kmp_lookup_user_lock (void **user_lock, char const *func)
 
void __kmp_cleanup_user_locks (void)
 

Variables

kmp_backoff_t __kmp_spin_backoff_params = {1, 256, 100}
 
enum kmp_lock_kind __kmp_user_lock_kind = lk_default
 
size_t __kmp_base_user_lock_size = 0
 
size_t __kmp_user_lock_size = 0
 
kmp_int32(* __kmp_get_user_lock_owner_ )(kmp_user_lock_p lck) = NULL
 
int(* __kmp_acquire_user_lock_with_checks_ )(kmp_user_lock_p lck, kmp_int32 gtid) = NULL
 
int(* __kmp_test_user_lock_with_checks_ )(kmp_user_lock_p lck, kmp_int32 gtid) = NULL
 
int(* __kmp_release_user_lock_with_checks_ )(kmp_user_lock_p lck, kmp_int32 gtid) = NULL
 
void(* __kmp_init_user_lock_with_checks_ )(kmp_user_lock_p lck) = NULL
 
void(* __kmp_destroy_user_lock_ )(kmp_user_lock_p lck) = NULL
 
void(* __kmp_destroy_user_lock_with_checks_ )(kmp_user_lock_p lck) = NULL
 
int(* __kmp_acquire_nested_user_lock_with_checks_ )(kmp_user_lock_p lck, kmp_int32 gtid) = NULL
 
int(* __kmp_test_nested_user_lock_with_checks_ )(kmp_user_lock_p lck, kmp_int32 gtid) = NULL
 
int(* __kmp_release_nested_user_lock_with_checks_ )(kmp_user_lock_p lck, kmp_int32 gtid) = NULL
 
void(* __kmp_init_nested_user_lock_with_checks_ )(kmp_user_lock_p lck) = NULL
 
void(* __kmp_destroy_nested_user_lock_with_checks_ )(kmp_user_lock_p lck) = NULL
 
int(* __kmp_is_user_lock_initialized_ )(kmp_user_lock_p lck) = NULL
 
const ident_t *(* __kmp_get_user_lock_location_ )(kmp_user_lock_p lck) = NULL
 
void(* __kmp_set_user_lock_location_ )(kmp_user_lock_p lck, const ident_t *loc) = NULL
 
kmp_lock_flags_t(* __kmp_get_user_lock_flags_ )(kmp_user_lock_p lck) = NULL
 
void(* __kmp_set_user_lock_flags_ )(kmp_user_lock_p lck, kmp_lock_flags_t flags) = NULL
 
kmp_lock_table_t __kmp_user_lock_table = {1, 0, NULL}
 
kmp_user_lock_p __kmp_lock_pool = NULL
 
kmp_block_of_locks__kmp_lock_blocks = NULL
 
int __kmp_num_locks_in_block = 1
 

Macro Definition Documentation

◆ __kmp_tsc

#define __kmp_tsc ( )    __kmp_now_nsec()

Definition at line 2651 of file kmp_lock.cpp.

◆ IS_CRITICAL

#define IS_CRITICAL (   lck)
Value:
kmp_lock_flags_t(* __kmp_get_user_lock_flags_)(kmp_user_lock_p lck)
Definition: kmp_lock.cpp:3570
#define kmp_lf_critical_section
Definition: kmp_lock.h:70
omp_lock_t lck
Definition: omp_lock.c:7

Function Documentation

◆ __kmp_acquire_drdpa_lock()

int __kmp_acquire_drdpa_lock ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)

Definition at line 2352 of file kmp_lock.cpp.

References __kmp_acquire_drdpa_lock_timed_template(), and lck.

Referenced by __kmp_acquire_drdpa_lock_with_checks().

◆ __kmp_acquire_drdpa_lock_timed_template()

static __forceinline int __kmp_acquire_drdpa_lock_timed_template ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_drdpa_lock_with_checks()

static int __kmp_acquire_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_nested_drdpa_lock()

int __kmp_acquire_nested_drdpa_lock ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_acquire_nested_drdpa_lock_with_checks()

static void __kmp_acquire_nested_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_nested_queuing_lock()

int __kmp_acquire_nested_queuing_lock ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_acquire_nested_queuing_lock_with_checks()

static int __kmp_acquire_nested_queuing_lock_with_checks ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_nested_tas_lock()

int __kmp_acquire_nested_tas_lock ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_acquire_nested_tas_lock_with_checks()

static int __kmp_acquire_nested_tas_lock_with_checks ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_nested_ticket_lock()

int __kmp_acquire_nested_ticket_lock ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_acquire_nested_ticket_lock_with_checks()

static int __kmp_acquire_nested_ticket_lock_with_checks ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_queuing_lock()

int __kmp_acquire_queuing_lock ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)

Definition at line 1277 of file kmp_lock.cpp.

References KMP_DEBUG_ASSERT, and lck.

Referenced by __kmp_acquire_atomic_lock(), and __kmp_acquire_queuing_lock_with_checks().

◆ __kmp_acquire_queuing_lock_timed_template()

template<bool takeTime>
static __forceinline int __kmp_acquire_queuing_lock_timed_template ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_queuing_lock_with_checks()

static int __kmp_acquire_queuing_lock_with_checks ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_tas_lock()

int __kmp_acquire_tas_lock ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_acquire_tas_lock_timed_template()

static __forceinline int __kmp_acquire_tas_lock_timed_template ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_tas_lock_with_checks()

static int __kmp_acquire_tas_lock_with_checks ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_ticket_lock()

int __kmp_acquire_ticket_lock ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_acquire_ticket_lock_timed_template()

static __forceinline int __kmp_acquire_ticket_lock_timed_template ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_acquire_ticket_lock_with_checks()

static int __kmp_acquire_ticket_lock_with_checks ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_bakery_check()

static kmp_uint32 __kmp_bakery_check ( void now_serving,
kmp_uint32  my_ticket 
)
static

Definition at line 618 of file kmp_lock.cpp.

Referenced by __kmp_acquire_ticket_lock_timed_template().

◆ __kmp_cleanup_user_locks()

void __kmp_cleanup_user_locks ( void  )

◆ __kmp_destroy_drdpa_lock()

void __kmp_destroy_drdpa_lock ( kmp_drdpa_lock_t lck)

◆ __kmp_destroy_drdpa_lock_with_checks()

static void __kmp_destroy_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck)
static

◆ __kmp_destroy_nested_drdpa_lock()

void __kmp_destroy_nested_drdpa_lock ( kmp_drdpa_lock_t lck)

Definition at line 2603 of file kmp_lock.cpp.

References __kmp_destroy_drdpa_lock(), and lck.

Referenced by __kmp_destroy_nested_drdpa_lock_with_checks().

◆ __kmp_destroy_nested_drdpa_lock_with_checks()

static void __kmp_destroy_nested_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck)
static

◆ __kmp_destroy_nested_queuing_lock()

void __kmp_destroy_nested_queuing_lock ( kmp_queuing_lock_t lck)

Definition at line 1653 of file kmp_lock.cpp.

References __kmp_destroy_queuing_lock(), and lck.

Referenced by __kmp_destroy_nested_queuing_lock_with_checks().

◆ __kmp_destroy_nested_queuing_lock_with_checks()

static void __kmp_destroy_nested_queuing_lock_with_checks ( kmp_queuing_lock_t lck)
static

◆ __kmp_destroy_nested_tas_lock()

void __kmp_destroy_nested_tas_lock ( kmp_tas_lock_t lck)

Definition at line 285 of file kmp_lock.cpp.

References __kmp_destroy_tas_lock(), and lck.

Referenced by __kmp_destroy_nested_tas_lock_with_checks().

◆ __kmp_destroy_nested_tas_lock_with_checks()

static void __kmp_destroy_nested_tas_lock_with_checks ( kmp_tas_lock_t lck)
static

◆ __kmp_destroy_nested_ticket_lock()

void __kmp_destroy_nested_ticket_lock ( kmp_ticket_lock_t lck)

Definition at line 920 of file kmp_lock.cpp.

References __kmp_destroy_ticket_lock(), and lck.

Referenced by __kmp_destroy_nested_ticket_lock_with_checks().

◆ __kmp_destroy_nested_ticket_lock_with_checks()

static void __kmp_destroy_nested_ticket_lock_with_checks ( kmp_ticket_lock_t lck)
static

◆ __kmp_destroy_queuing_lock()

void __kmp_destroy_queuing_lock ( kmp_queuing_lock_t lck)

◆ __kmp_destroy_queuing_lock_with_checks()

static void __kmp_destroy_queuing_lock_with_checks ( kmp_queuing_lock_t lck)
static

◆ __kmp_destroy_tas_lock()

void __kmp_destroy_tas_lock ( kmp_tas_lock_t lck)

◆ __kmp_destroy_tas_lock_with_checks()

static void __kmp_destroy_tas_lock_with_checks ( kmp_tas_lock_t lck)
static

◆ __kmp_destroy_ticket_lock()

void __kmp_destroy_ticket_lock ( kmp_ticket_lock_t lck)

◆ __kmp_destroy_ticket_lock_with_checks()

static void __kmp_destroy_ticket_lock_with_checks ( kmp_ticket_lock_t lck)
static

◆ __kmp_get_drdpa_lock_flags()

static kmp_lock_flags_t __kmp_get_drdpa_lock_flags ( kmp_drdpa_lock_t lck)
static

Definition at line 2633 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_get_drdpa_lock_location()

static const ident_t * __kmp_get_drdpa_lock_location ( kmp_drdpa_lock_t lck)
static

Definition at line 2624 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_get_drdpa_lock_owner()

static kmp_int32 __kmp_get_drdpa_lock_owner ( kmp_drdpa_lock_t lck)
static

◆ __kmp_get_queuing_lock_flags()

static kmp_lock_flags_t __kmp_get_queuing_lock_flags ( kmp_queuing_lock_t lck)
static

Definition at line 1684 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_get_queuing_lock_location()

static const ident_t * __kmp_get_queuing_lock_location ( kmp_queuing_lock_t lck)
static

Definition at line 1675 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_get_queuing_lock_owner()

static kmp_int32 __kmp_get_queuing_lock_owner ( kmp_queuing_lock_t lck)
static

◆ __kmp_get_tas_lock_owner()

static kmp_int32 __kmp_get_tas_lock_owner ( kmp_tas_lock_t lck)
static

◆ __kmp_get_ticket_lock_flags()

static kmp_lock_flags_t __kmp_get_ticket_lock_flags ( kmp_ticket_lock_t lck)
static

Definition at line 957 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_get_ticket_lock_location()

static const ident_t * __kmp_get_ticket_lock_location ( kmp_ticket_lock_t lck)
static

Definition at line 948 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_get_ticket_lock_owner()

static kmp_int32 __kmp_get_ticket_lock_owner ( kmp_ticket_lock_t lck)
static

◆ __kmp_init_drdpa_lock()

void __kmp_init_drdpa_lock ( kmp_drdpa_lock_t lck)

Definition at line 2455 of file kmp_lock.cpp.

References __kmp_allocate, KA_TRACE, and lck.

Referenced by __kmp_init_drdpa_lock_with_checks(), and __kmp_init_nested_drdpa_lock().

◆ __kmp_init_drdpa_lock_with_checks()

static void __kmp_init_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck)
static

Definition at line 3528 of file kmp_lock.cpp.

References __kmp_init_drdpa_lock(), and lck.

◆ __kmp_init_nested_drdpa_lock()

void __kmp_init_nested_drdpa_lock ( kmp_drdpa_lock_t lck)

Definition at line 2598 of file kmp_lock.cpp.

References __kmp_init_drdpa_lock(), and lck.

Referenced by __kmp_init_nested_drdpa_lock_with_checks().

◆ __kmp_init_nested_drdpa_lock_with_checks()

static void __kmp_init_nested_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck)
static

Definition at line 3532 of file kmp_lock.cpp.

References __kmp_init_nested_drdpa_lock(), and lck.

◆ __kmp_init_nested_queuing_lock()

void __kmp_init_nested_queuing_lock ( kmp_queuing_lock_t lck)

Definition at line 1648 of file kmp_lock.cpp.

References __kmp_init_queuing_lock(), and lck.

Referenced by __kmp_init_nested_queuing_lock_with_checks().

◆ __kmp_init_nested_queuing_lock_with_checks()

static void __kmp_init_nested_queuing_lock_with_checks ( kmp_queuing_lock_t lck)
static

Definition at line 3514 of file kmp_lock.cpp.

References __kmp_init_nested_queuing_lock(), and lck.

◆ __kmp_init_nested_tas_lock()

void __kmp_init_nested_tas_lock ( kmp_tas_lock_t lck)

Definition at line 280 of file kmp_lock.cpp.

References __kmp_init_tas_lock(), and lck.

Referenced by __kmp_init_nested_tas_lock_with_checks().

◆ __kmp_init_nested_tas_lock_with_checks()

static void __kmp_init_nested_tas_lock_with_checks ( kmp_tas_lock_t lck)
static

Definition at line 3479 of file kmp_lock.cpp.

References __kmp_init_nested_tas_lock(), and lck.

◆ __kmp_init_nested_ticket_lock()

void __kmp_init_nested_ticket_lock ( kmp_ticket_lock_t lck)

Definition at line 913 of file kmp_lock.cpp.

References __kmp_init_ticket_lock(), and lck.

Referenced by __kmp_init_nested_ticket_lock_with_checks().

◆ __kmp_init_nested_ticket_lock_with_checks()

static void __kmp_init_nested_ticket_lock_with_checks ( kmp_ticket_lock_t lck)
static

Definition at line 3501 of file kmp_lock.cpp.

References __kmp_init_nested_ticket_lock(), and lck.

◆ __kmp_init_queuing_lock()

void __kmp_init_queuing_lock ( kmp_queuing_lock_t lck)

◆ __kmp_init_queuing_lock_with_checks()

static void __kmp_init_queuing_lock_with_checks ( kmp_queuing_lock_t lck)
static

Definition at line 3509 of file kmp_lock.cpp.

References __kmp_init_queuing_lock(), and lck.

◆ __kmp_init_tas_lock()

void __kmp_init_tas_lock ( kmp_tas_lock_t lck)

◆ __kmp_init_tas_lock_with_checks()

static void __kmp_init_tas_lock_with_checks ( kmp_tas_lock_t lck)
static

Definition at line 3475 of file kmp_lock.cpp.

References __kmp_init_tas_lock(), and lck.

◆ __kmp_init_ticket_lock()

void __kmp_init_ticket_lock ( kmp_ticket_lock_t lck)

◆ __kmp_init_ticket_lock_with_checks()

static void __kmp_init_ticket_lock_with_checks ( kmp_ticket_lock_t lck)
static

Definition at line 3497 of file kmp_lock.cpp.

References __kmp_init_ticket_lock(), and lck.

◆ __kmp_is_drdpa_lock_initialized()

static int __kmp_is_drdpa_lock_initialized ( kmp_drdpa_lock_t lck)
static

Definition at line 3524 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_is_drdpa_lock_nestable()

static bool __kmp_is_drdpa_lock_nestable ( kmp_drdpa_lock_t lck)
inlinestatic

◆ __kmp_is_queuing_lock_initialized()

static int __kmp_is_queuing_lock_initialized ( kmp_queuing_lock_t lck)
static

Definition at line 3505 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_is_queuing_lock_nestable()

static bool __kmp_is_queuing_lock_nestable ( kmp_queuing_lock_t lck)
inlinestatic

◆ __kmp_is_tas_lock_nestable()

static bool __kmp_is_tas_lock_nestable ( kmp_tas_lock_t lck)
inlinestatic

◆ __kmp_is_ticket_lock_initialized()

static int __kmp_is_ticket_lock_initialized ( kmp_ticket_lock_t lck)
static

Definition at line 3493 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_is_ticket_lock_nestable()

static bool __kmp_is_ticket_lock_nestable ( kmp_ticket_lock_t lck)
inlinestatic

◆ __kmp_lock_block_allocate()

static kmp_user_lock_p __kmp_lock_block_allocate ( )
static

◆ __kmp_lock_table_insert()

static kmp_lock_index_t __kmp_lock_table_insert ( kmp_user_lock_p  lck)
static

◆ __kmp_lookup_user_lock()

kmp_user_lock_p __kmp_lookup_user_lock ( void **  user_lock,
char const *  func 
)

◆ __kmp_now_nsec()

kmp_uint64 __kmp_now_nsec ( )

Definition at line 2062 of file z_Linux_util.cpp.

References __kmp_win32_tick.

◆ __kmp_release_drdpa_lock()

int __kmp_release_drdpa_lock ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_release_drdpa_lock_with_checks()

static int __kmp_release_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_release_nested_drdpa_lock()

int __kmp_release_nested_drdpa_lock ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_release_nested_drdpa_lock_with_checks()

static int __kmp_release_nested_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_release_nested_queuing_lock()

int __kmp_release_nested_queuing_lock ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_release_nested_queuing_lock_with_checks()

static int __kmp_release_nested_queuing_lock_with_checks ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_release_nested_tas_lock()

int __kmp_release_nested_tas_lock ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_release_nested_tas_lock_with_checks()

static int __kmp_release_nested_tas_lock_with_checks ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_release_nested_ticket_lock()

int __kmp_release_nested_ticket_lock ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_release_nested_ticket_lock_with_checks()

static int __kmp_release_nested_ticket_lock_with_checks ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_release_queuing_lock()

int __kmp_release_queuing_lock ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_release_queuing_lock_with_checks()

static int __kmp_release_queuing_lock_with_checks ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_release_tas_lock()

int __kmp_release_tas_lock ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_release_tas_lock_with_checks()

static int __kmp_release_tas_lock_with_checks ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_release_ticket_lock()

int __kmp_release_ticket_lock ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_release_ticket_lock_with_checks()

static int __kmp_release_ticket_lock_with_checks ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_set_drdpa_lock_flags()

static void __kmp_set_drdpa_lock_flags ( kmp_drdpa_lock_t lck,
kmp_lock_flags_t  flags 
)
static

Definition at line 2637 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_set_drdpa_lock_location()

static void __kmp_set_drdpa_lock_location ( kmp_drdpa_lock_t lck,
const ident_t loc 
)
static

Definition at line 2628 of file kmp_lock.cpp.

References lck, and loc.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_set_queuing_lock_flags()

static void __kmp_set_queuing_lock_flags ( kmp_queuing_lock_t lck,
kmp_lock_flags_t  flags 
)
static

Definition at line 1688 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_set_queuing_lock_location()

static void __kmp_set_queuing_lock_location ( kmp_queuing_lock_t lck,
const ident_t loc 
)
static

Definition at line 1679 of file kmp_lock.cpp.

References lck, and loc.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_set_ticket_lock_flags()

static void __kmp_set_ticket_lock_flags ( kmp_ticket_lock_t lck,
kmp_lock_flags_t  flags 
)
static

Definition at line 961 of file kmp_lock.cpp.

References lck.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_set_ticket_lock_location()

static void __kmp_set_ticket_lock_location ( kmp_ticket_lock_t lck,
const ident_t loc 
)
static

Definition at line 952 of file kmp_lock.cpp.

References lck, and loc.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_set_user_lock_vptrs()

void __kmp_set_user_lock_vptrs ( kmp_lock_kind_t  user_lock_kind)

◆ __kmp_spin_backoff()

void __kmp_spin_backoff ( kmp_backoff_t boff)

◆ __kmp_test_drdpa_lock()

int __kmp_test_drdpa_lock ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_test_drdpa_lock_with_checks()

static int __kmp_test_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_test_nested_drdpa_lock()

int __kmp_test_nested_drdpa_lock ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_test_nested_drdpa_lock_with_checks()

static int __kmp_test_nested_drdpa_lock_with_checks ( kmp_drdpa_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_test_nested_queuing_lock()

int __kmp_test_nested_queuing_lock ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_test_nested_queuing_lock_with_checks()

static int __kmp_test_nested_queuing_lock_with_checks ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_test_nested_tas_lock()

int __kmp_test_nested_tas_lock ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_test_nested_tas_lock_with_checks()

static int __kmp_test_nested_tas_lock_with_checks ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_test_nested_ticket_lock()

int __kmp_test_nested_ticket_lock ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_test_nested_ticket_lock_with_checks()

static int __kmp_test_nested_ticket_lock_with_checks ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_test_queuing_lock()

int __kmp_test_queuing_lock ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_test_queuing_lock_with_checks()

static int __kmp_test_queuing_lock_with_checks ( kmp_queuing_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_test_tas_lock()

int __kmp_test_tas_lock ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_test_tas_lock_with_checks()

static int __kmp_test_tas_lock_with_checks ( kmp_tas_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_test_ticket_lock()

int __kmp_test_ticket_lock ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)

◆ __kmp_test_ticket_lock_with_checks()

static int __kmp_test_ticket_lock_with_checks ( kmp_ticket_lock_t lck,
kmp_int32  gtid 
)
static

◆ __kmp_user_lock_allocate()

kmp_user_lock_p __kmp_user_lock_allocate ( void **  user_lock,
kmp_int32  gtid,
kmp_lock_flags_t  flags 
)

◆ __kmp_user_lock_free()

void __kmp_user_lock_free ( void **  user_lock,
kmp_int32  gtid,
kmp_user_lock_p  lck 
)

◆ __kmp_validate_locks()

void __kmp_validate_locks ( void  )

Definition at line 43 of file kmp_lock.cpp.

References i, KMP_ASSERT, and kmp_uint32.

Referenced by __kmp_do_serial_initialize().

◆ before()

static bool before ( kmp_uint64  a,
kmp_uint64  b 
)
inlinestatic

Definition at line 2661 of file kmp_lock.cpp.

References a, and b.

Referenced by __kmp_spin_backoff().

Variable Documentation

◆ __kmp_acquire_nested_user_lock_with_checks_

int(* __kmp_acquire_nested_user_lock_with_checks_) (kmp_user_lock_p lck, kmp_int32 gtid) ( kmp_user_lock_p  lck,
kmp_int32  gtid 
) = NULL

Definition at line 3556 of file kmp_lock.cpp.

Referenced by __kmp_acquire_nested_user_lock_with_checks().

◆ __kmp_acquire_user_lock_with_checks_

int(* __kmp_acquire_user_lock_with_checks_) (kmp_user_lock_p lck, kmp_int32 gtid) ( kmp_user_lock_p  lck,
kmp_int32  gtid 
) = NULL

Definition at line 3546 of file kmp_lock.cpp.

Referenced by __kmp_acquire_user_lock_with_checks().

◆ __kmp_base_user_lock_size

size_t __kmp_base_user_lock_size = 0

◆ __kmp_destroy_nested_user_lock_with_checks_

void(* __kmp_destroy_nested_user_lock_with_checks_) (kmp_user_lock_p lck) ( kmp_user_lock_p  lck) = NULL

Definition at line 3564 of file kmp_lock.cpp.

Referenced by __kmp_destroy_nested_user_lock_with_checks().

◆ __kmp_destroy_user_lock_

void(* __kmp_destroy_user_lock_) (kmp_user_lock_p lck) ( kmp_user_lock_p  lck) = NULL

Definition at line 3554 of file kmp_lock.cpp.

Referenced by __kmp_destroy_user_lock(), and __kmp_set_user_lock_vptrs().

◆ __kmp_destroy_user_lock_with_checks_

void(* __kmp_destroy_user_lock_with_checks_) (kmp_user_lock_p lck) ( kmp_user_lock_p  lck) = NULL

Definition at line 3555 of file kmp_lock.cpp.

Referenced by __kmp_destroy_user_lock_with_checks().

◆ __kmp_get_user_lock_flags_

kmp_lock_flags_t(* __kmp_get_user_lock_flags_) (kmp_user_lock_p lck) ( kmp_user_lock_p  lck) = NULL

Definition at line 3570 of file kmp_lock.cpp.

Referenced by __kmp_set_user_lock_vptrs().

◆ __kmp_get_user_lock_location_

const ident_t *(* __kmp_get_user_lock_location_) (kmp_user_lock_p lck) ( kmp_user_lock_p  lck) = NULL

Definition at line 3567 of file kmp_lock.cpp.

Referenced by __kmp_get_user_lock_location(), and __kmp_set_user_lock_vptrs().

◆ __kmp_get_user_lock_owner_

kmp_int32(* __kmp_get_user_lock_owner_) (kmp_user_lock_p lck) ( kmp_user_lock_p  lck) = NULL

Definition at line 3545 of file kmp_lock.cpp.

Referenced by __kmp_get_user_lock_owner(), and __kmp_set_user_lock_vptrs().

◆ __kmp_init_nested_user_lock_with_checks_

void(* __kmp_init_nested_user_lock_with_checks_) (kmp_user_lock_p lck) ( kmp_user_lock_p  lck) = NULL

Definition at line 3563 of file kmp_lock.cpp.

Referenced by __kmp_init_nested_user_lock_with_checks().

◆ __kmp_init_user_lock_with_checks_

void(* __kmp_init_user_lock_with_checks_) (kmp_user_lock_p lck) ( kmp_user_lock_p  lck) = NULL

Definition at line 3553 of file kmp_lock.cpp.

Referenced by __kmp_init_user_lock_with_checks().

◆ __kmp_is_user_lock_initialized_

int(* __kmp_is_user_lock_initialized_) (kmp_user_lock_p lck) ( kmp_user_lock_p  lck) = NULL

Definition at line 3566 of file kmp_lock.cpp.

Referenced by __kmp_cleanup_user_locks(), and __kmp_set_user_lock_vptrs().

◆ __kmp_lock_blocks

kmp_block_of_locks* __kmp_lock_blocks = NULL

◆ __kmp_lock_pool

kmp_user_lock_p __kmp_lock_pool = NULL

◆ __kmp_num_locks_in_block

int __kmp_num_locks_in_block = 1

◆ __kmp_release_nested_user_lock_with_checks_

int(* __kmp_release_nested_user_lock_with_checks_) (kmp_user_lock_p lck, kmp_int32 gtid) ( kmp_user_lock_p  lck,
kmp_int32  gtid 
) = NULL

Definition at line 3561 of file kmp_lock.cpp.

Referenced by __kmp_release_nested_user_lock_with_checks().

◆ __kmp_release_user_lock_with_checks_

int(* __kmp_release_user_lock_with_checks_) (kmp_user_lock_p lck, kmp_int32 gtid) ( kmp_user_lock_p  lck,
kmp_int32  gtid 
) = NULL

Definition at line 3551 of file kmp_lock.cpp.

Referenced by __kmp_release_user_lock_with_checks().

◆ __kmp_set_user_lock_flags_

void(* __kmp_set_user_lock_flags_) (kmp_user_lock_p lck, kmp_lock_flags_t flags) ( kmp_user_lock_p  lck,
kmp_lock_flags_t  flags 
) = NULL

Definition at line 3571 of file kmp_lock.cpp.

Referenced by __kmp_set_user_lock_flags(), and __kmp_set_user_lock_vptrs().

◆ __kmp_set_user_lock_location_

void(* __kmp_set_user_lock_location_) (kmp_user_lock_p lck, const ident_t *loc) ( kmp_user_lock_p  lck,
const ident_t loc 
) = NULL

Definition at line 3568 of file kmp_lock.cpp.

Referenced by __kmp_set_user_lock_location(), and __kmp_set_user_lock_vptrs().

◆ __kmp_spin_backoff_params

kmp_backoff_t __kmp_spin_backoff_params = {1, 256, 100}

◆ __kmp_test_nested_user_lock_with_checks_

int(* __kmp_test_nested_user_lock_with_checks_) (kmp_user_lock_p lck, kmp_int32 gtid) ( kmp_user_lock_p  lck,
kmp_int32  gtid 
) = NULL

Definition at line 3559 of file kmp_lock.cpp.

Referenced by __kmp_test_nested_user_lock_with_checks().

◆ __kmp_test_user_lock_with_checks_

int(* __kmp_test_user_lock_with_checks_) (kmp_user_lock_p lck, kmp_int32 gtid) ( kmp_user_lock_p  lck,
kmp_int32  gtid 
) = NULL

Definition at line 3549 of file kmp_lock.cpp.

Referenced by __kmp_test_user_lock_with_checks().

◆ __kmp_user_lock_kind

enum kmp_lock_kind __kmp_user_lock_kind = lk_default

◆ __kmp_user_lock_size

size_t __kmp_user_lock_size = 0

◆ __kmp_user_lock_table

kmp_lock_table_t __kmp_user_lock_table = {1, 0, NULL}