LLVM OpenMP 22.0.0git
|
#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() |
#define | IS_CRITICAL(lck) |
#define __kmp_tsc | ( | ) |
#define IS_CRITICAL | ( | lck | ) |
Referenced by __kmp_cleanup_user_locks().
int __kmp_acquire_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 2345 of file kmp_lock.cpp.
References __kmp_acquire_drdpa_lock_timed_template(), and lck.
Referenced by __kmp_acquire_drdpa_lock_with_checks().
|
static |
Definition at line 2211 of file kmp_lock.cpp.
References __kmp_allocate, __kmp_avail_proc, __kmp_free, __kmp_nth, __kmp_printf(), __kmp_xproc, i, KA_TRACE, KMP_ATOMIC_INC, KMP_FSYNC_ACQUIRED, KMP_FSYNC_PREPARE, KMP_INIT_BACKOFF, KMP_INIT_YIELD, KMP_LOCK_ACQUIRED_FIRST, KMP_MB, kmp_uint32, KMP_YIELD_OVERSUB_ELSE_SPIN, lck, mask, TCR_4, and TCR_8.
Referenced by __kmp_acquire_drdpa_lock(), and __kmp_acquire_nested_drdpa_lock().
|
static |
Definition at line 2350 of file kmp_lock.cpp.
References __kmp_acquire_drdpa_lock(), __kmp_get_drdpa_lock_owner(), __kmp_is_drdpa_lock_nestable(), func(), KMP_FATAL, KMP_LOCK_ACQUIRED_FIRST, and lck.
int __kmp_acquire_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 2501 of file kmp_lock.cpp.
References __kmp_acquire_drdpa_lock_timed_template(), __kmp_get_drdpa_lock_owner(), KMP_DEBUG_ASSERT, KMP_LOCK_ACQUIRED_FIRST, KMP_LOCK_ACQUIRED_NEXT, KMP_MB, and lck.
Referenced by __kmp_acquire_nested_drdpa_lock_with_checks().
|
static |
Definition at line 2517 of file kmp_lock.cpp.
References __kmp_acquire_nested_drdpa_lock(), __kmp_is_drdpa_lock_nestable(), func(), KMP_FATAL, and lck.
int __kmp_acquire_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 1549 of file kmp_lock.cpp.
References __kmp_acquire_queuing_lock_timed_template(), __kmp_get_queuing_lock_owner(), KMP_DEBUG_ASSERT, KMP_LOCK_ACQUIRED_FIRST, KMP_LOCK_ACQUIRED_NEXT, KMP_MB, and lck.
Referenced by __kmp_acquire_nested_queuing_lock_with_checks().
|
static |
Definition at line 1566 of file kmp_lock.cpp.
References __kmp_acquire_nested_queuing_lock(), __kmp_is_queuing_lock_nestable(), func(), KMP_FATAL, and lck.
int __kmp_acquire_nested_tas_lock | ( | kmp_tas_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 206 of file kmp_lock.cpp.
References __kmp_acquire_tas_lock_timed_template(), __kmp_get_tas_lock_owner(), KMP_DEBUG_ASSERT, KMP_LOCK_ACQUIRED_FIRST, KMP_LOCK_ACQUIRED_NEXT, and lck.
Referenced by __kmp_acquire_nested_tas_lock_with_checks().
|
static |
Definition at line 219 of file kmp_lock.cpp.
References __kmp_acquire_nested_tas_lock(), __kmp_is_tas_lock_nestable(), func(), KMP_FATAL, and lck.
int __kmp_acquire_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 798 of file kmp_lock.cpp.
References __kmp_acquire_ticket_lock_timed_template(), __kmp_get_ticket_lock_owner(), KMP_DEBUG_ASSERT, KMP_LOCK_ACQUIRED_FIRST, KMP_LOCK_ACQUIRED_NEXT, and lck.
Referenced by __kmp_acquire_nested_ticket_lock_with_checks().
|
static |
Definition at line 815 of file kmp_lock.cpp.
References __kmp_acquire_nested_ticket_lock(), __kmp_is_ticket_lock_nestable(), func(), KMP_FATAL, and lck.
int __kmp_acquire_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 1270 of file kmp_lock.cpp.
References __kmp_acquire_queuing_lock_timed_template(), KMP_DEBUG_ASSERT, and lck.
Referenced by __kmp_acquire_atomic_lock(), and __kmp_acquire_queuing_lock_with_checks().
|
static |
Definition at line 1077 of file kmp_lock.cpp.
References __kmp_thread_from_gtid(), FALSE, head, KA_TRACE, KMP_ASSERT, KMP_ASSERT2, KMP_COMPARE_AND_STORE_ACQ32, KMP_COMPARE_AND_STORE_ACQ64, KMP_DEBUG_ASSERT, KMP_EQ, KMP_FSYNC_ACQUIRED, KMP_FSYNC_PREPARE, KMP_LOCK_ACQUIRED_FIRST, KMP_MB, KMP_PACK_64, kmp_uint32, KMP_WAIT, KMP_YIELD_OVERSUB, lck, ompt_enabled, tail, and TRUE.
Referenced by __kmp_acquire_nested_queuing_lock(), and __kmp_acquire_queuing_lock().
|
static |
Definition at line 1277 of file kmp_lock.cpp.
References __kmp_acquire_queuing_lock(), __kmp_get_queuing_lock_owner(), __kmp_is_queuing_lock_nestable(), func(), KMP_FATAL, KMP_LOCK_ACQUIRED_FIRST, and lck.
int __kmp_acquire_tas_lock | ( | kmp_tas_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 118 of file kmp_lock.cpp.
References __kmp_acquire_tas_lock_timed_template(), and lck.
Referenced by __kmp_acquire_tas_lock_with_checks(), __kmp_create_worker(), __kmp_fulfill_event(), and __kmp_task_finish().
|
static |
Definition at line 79 of file kmp_lock.cpp.
References __kmp_atomic_compare_store_acq(), __kmp_printf(), __kmp_spin_backoff(), __kmp_spin_backoff_params, KMP_ATOMIC_LD_RLX, KMP_FSYNC_ACQUIRED, KMP_FSYNC_PREPARE, KMP_INIT_BACKOFF, KMP_INIT_YIELD, KMP_LOCK_ACQUIRED_FIRST, KMP_LOCK_BUSY, KMP_LOCK_FREE, KMP_LOCK_STRIP, KMP_MB, kmp_uint32, KMP_YIELD_OVERSUB_ELSE_SPIN, and lck.
Referenced by __kmp_acquire_nested_tas_lock(), and __kmp_acquire_tas_lock().
|
static |
Definition at line 123 of file kmp_lock.cpp.
References __kmp_acquire_tas_lock(), __kmp_get_tas_lock_owner(), __kmp_is_tas_lock_nestable(), func(), KMP_FATAL, lck, and OMP_LOCK_T_SIZE.
int __kmp_acquire_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 644 of file kmp_lock.cpp.
References __kmp_acquire_ticket_lock_timed_template(), and lck.
Referenced by __kmp_acquire_bootstrap_lock(), __kmp_acquire_lock(), and __kmp_acquire_ticket_lock_with_checks().
|
static |
Definition at line 624 of file kmp_lock.cpp.
References __kmp_bakery_check(), __kmp_printf(), KMP_LOCK_ACQUIRED_FIRST, kmp_uint32, KMP_WAIT_PTR, and lck.
Referenced by __kmp_acquire_nested_ticket_lock(), and __kmp_acquire_ticket_lock().
|
static |
Definition at line 649 of file kmp_lock.cpp.
References __kmp_acquire_ticket_lock(), __kmp_get_ticket_lock_owner(), __kmp_is_ticket_lock_nestable(), func(), KMP_FATAL, KMP_LOCK_ACQUIRED_FIRST, and lck.
|
static |
Definition at line 618 of file kmp_lock.cpp.
References kmp_uint32.
Referenced by __kmp_acquire_ticket_lock_timed_template().
Definition at line 3944 of file kmp_lock.cpp.
References __kmp_destroy_user_lock(), __kmp_env_consistency_check, __kmp_free, __kmp_get_user_lock_location(), __kmp_init_user_locks, __kmp_is_user_lock_initialized_, __kmp_lock_blocks, __kmp_lock_pool, __kmp_str_loc_free(), __kmp_str_loc_init(), __kmp_user_lock_table, FALSE, kmp_str_loc::file, IS_CRITICAL, KA_TRACE, KMP_WARNING, lck, kmp_str_loc::line, loc, kmp_block_of_locks::locks, kmp_block_of_locks::next_block, and TCW_4.
Referenced by __kmp_cleanup().
void __kmp_destroy_drdpa_lock | ( | kmp_drdpa_lock_t * | lck | ) |
Definition at line 2465 of file kmp_lock.cpp.
References __kmp_free, and lck.
Referenced by __kmp_destroy_drdpa_lock_with_checks(), __kmp_destroy_nested_drdpa_lock(), and __kmp_set_user_lock_vptrs().
|
static |
Definition at line 2485 of file kmp_lock.cpp.
References __kmp_destroy_drdpa_lock(), __kmp_get_drdpa_lock_owner(), __kmp_is_drdpa_lock_nestable(), func(), KMP_FATAL, and lck.
void __kmp_destroy_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck | ) |
Definition at line 2596 of file kmp_lock.cpp.
References __kmp_destroy_drdpa_lock(), and lck.
Referenced by __kmp_destroy_nested_drdpa_lock_with_checks().
|
static |
Definition at line 2601 of file kmp_lock.cpp.
References __kmp_destroy_nested_drdpa_lock(), __kmp_get_drdpa_lock_owner(), __kmp_is_drdpa_lock_nestable(), func(), KMP_FATAL, and lck.
void __kmp_destroy_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1646 of file kmp_lock.cpp.
References __kmp_destroy_queuing_lock(), and lck.
Referenced by __kmp_destroy_nested_queuing_lock_with_checks().
|
static |
Definition at line 1652 of file kmp_lock.cpp.
References __kmp_destroy_nested_queuing_lock(), __kmp_get_queuing_lock_owner(), __kmp_is_queuing_lock_nestable(), func(), KMP_FATAL, and lck.
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().
|
static |
Definition at line 290 of file kmp_lock.cpp.
References __kmp_destroy_nested_tas_lock(), __kmp_get_tas_lock_owner(), __kmp_is_tas_lock_nestable(), func(), KMP_FATAL, and lck.
void __kmp_destroy_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck | ) |
Definition at line 913 of file kmp_lock.cpp.
References __kmp_destroy_ticket_lock(), and lck.
Referenced by __kmp_destroy_nested_ticket_lock_with_checks().
|
static |
Definition at line 920 of file kmp_lock.cpp.
References __kmp_destroy_nested_ticket_lock(), __kmp_get_ticket_lock_owner(), __kmp_is_ticket_lock_nestable(), func(), KMP_FATAL, and lck.
void __kmp_destroy_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1522 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_destroy_atomic_lock(), __kmp_destroy_nested_queuing_lock(), __kmp_destroy_queuing_lock_with_checks(), and __kmp_set_user_lock_vptrs().
|
static |
Definition at line 1533 of file kmp_lock.cpp.
References __kmp_destroy_queuing_lock(), __kmp_get_queuing_lock_owner(), __kmp_is_queuing_lock_nestable(), func(), KMP_FATAL, and lck.
void __kmp_destroy_tas_lock | ( | kmp_tas_lock_t * | lck | ) |
Definition at line 190 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_destroy_nested_tas_lock(), __kmp_destroy_tas_lock_with_checks(), and __kmp_set_user_lock_vptrs().
|
static |
Definition at line 192 of file kmp_lock.cpp.
References __kmp_destroy_tas_lock(), __kmp_get_tas_lock_owner(), __kmp_is_tas_lock_nestable(), func(), KMP_FATAL, lck, and OMP_LOCK_T_SIZE.
void __kmp_destroy_ticket_lock | ( | kmp_ticket_lock_t * | lck | ) |
Definition at line 763 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_destroy_bootstrap_lock(), __kmp_destroy_lock(), __kmp_destroy_nested_ticket_lock(), __kmp_destroy_ticket_lock_with_checks(), and __kmp_set_user_lock_vptrs().
|
static |
Definition at line 777 of file kmp_lock.cpp.
References __kmp_destroy_ticket_lock(), __kmp_get_ticket_lock_owner(), __kmp_is_ticket_lock_nestable(), func(), KMP_FATAL, and lck.
|
static |
Definition at line 2626 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 2617 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 2202 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_acquire_drdpa_lock_with_checks(), __kmp_acquire_nested_drdpa_lock(), __kmp_destroy_drdpa_lock_with_checks(), __kmp_destroy_nested_drdpa_lock_with_checks(), __kmp_release_drdpa_lock_with_checks(), __kmp_release_nested_drdpa_lock_with_checks(), __kmp_set_user_lock_vptrs(), and __kmp_test_nested_drdpa_lock().
|
static |
Definition at line 1677 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 1668 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 1064 of file kmp_lock.cpp.
Referenced by __kmp_acquire_nested_queuing_lock(), __kmp_acquire_queuing_lock_with_checks(), __kmp_destroy_nested_queuing_lock_with_checks(), __kmp_destroy_queuing_lock_with_checks(), __kmp_release_nested_queuing_lock_with_checks(), __kmp_release_queuing_lock_with_checks(), __kmp_set_user_lock_vptrs(), and __kmp_test_nested_queuing_lock().
|
static |
Definition at line 70 of file kmp_lock.cpp.
References KMP_ATOMIC_LD_RLX, KMP_LOCK_STRIP, and lck.
Referenced by __kmp_acquire_nested_tas_lock(), __kmp_acquire_tas_lock_with_checks(), __kmp_destroy_nested_tas_lock_with_checks(), __kmp_destroy_tas_lock_with_checks(), __kmp_release_nested_tas_lock_with_checks(), __kmp_release_tas_lock_with_checks(), __kmp_set_user_lock_vptrs(), and __kmp_test_nested_tas_lock().
|
static |
Definition at line 950 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 941 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 607 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_acquire_nested_ticket_lock(), __kmp_acquire_ticket_lock_with_checks(), __kmp_destroy_nested_ticket_lock_with_checks(), __kmp_destroy_ticket_lock_with_checks(), __kmp_release_nested_ticket_lock_with_checks(), __kmp_release_ticket_lock_with_checks(), __kmp_set_user_lock_vptrs(), and __kmp_test_nested_ticket_lock().
void __kmp_init_drdpa_lock | ( | kmp_drdpa_lock_t * | lck | ) |
Definition at line 2448 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().
|
static |
Definition at line 3524 of file kmp_lock.cpp.
References __kmp_init_drdpa_lock(), and lck.
void __kmp_init_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck | ) |
Definition at line 2591 of file kmp_lock.cpp.
References __kmp_init_drdpa_lock(), and lck.
Referenced by __kmp_init_nested_drdpa_lock_with_checks().
|
static |
Definition at line 3528 of file kmp_lock.cpp.
References __kmp_init_nested_drdpa_lock(), and lck.
void __kmp_init_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1641 of file kmp_lock.cpp.
References __kmp_init_queuing_lock(), and lck.
Referenced by __kmp_init_nested_queuing_lock_with_checks().
|
static |
Definition at line 3510 of file kmp_lock.cpp.
References __kmp_init_nested_queuing_lock(), and lck.
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().
|
static |
Definition at line 3475 of file kmp_lock.cpp.
References __kmp_init_nested_tas_lock(), and lck.
void __kmp_init_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck | ) |
Definition at line 906 of file kmp_lock.cpp.
References __kmp_init_ticket_lock(), and lck.
Referenced by __kmp_init_nested_ticket_lock_with_checks().
|
static |
Definition at line 3497 of file kmp_lock.cpp.
References __kmp_init_nested_ticket_lock(), and lck.
void __kmp_init_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1509 of file kmp_lock.cpp.
Referenced by __kmp_init_atomic_lock(), __kmp_init_nested_queuing_lock(), and __kmp_init_queuing_lock_with_checks().
|
static |
Definition at line 3505 of file kmp_lock.cpp.
References __kmp_init_queuing_lock(), and lck.
void __kmp_init_tas_lock | ( | kmp_tas_lock_t * | lck | ) |
Definition at line 186 of file kmp_lock.cpp.
References KMP_LOCK_FREE, and lck.
Referenced by __kmp_init_nested_tas_lock(), __kmp_init_tas_lock_with_checks(), __kmp_stats_init(), and __kmpc_task_allow_completion_event().
|
static |
Definition at line 3471 of file kmp_lock.cpp.
References __kmp_init_tas_lock(), and lck.
void __kmp_init_ticket_lock | ( | kmp_ticket_lock_t * | lck | ) |
Definition at line 746 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_init_bootstrap_lock(), __kmp_init_lock(), __kmp_init_nested_ticket_lock(), and __kmp_init_ticket_lock_with_checks().
|
static |
Definition at line 3493 of file kmp_lock.cpp.
References __kmp_init_ticket_lock(), and lck.
|
static |
Definition at line 3520 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
inlinestatic |
Definition at line 2206 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_acquire_drdpa_lock_with_checks(), __kmp_acquire_nested_drdpa_lock_with_checks(), __kmp_destroy_drdpa_lock_with_checks(), __kmp_destroy_nested_drdpa_lock_with_checks(), __kmp_release_drdpa_lock_with_checks(), __kmp_release_nested_drdpa_lock_with_checks(), __kmp_test_drdpa_lock_with_checks(), and __kmp_test_nested_drdpa_lock_with_checks().
|
static |
Definition at line 3501 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
inlinestatic |
Definition at line 1068 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_acquire_nested_queuing_lock_with_checks(), __kmp_acquire_queuing_lock_with_checks(), __kmp_destroy_nested_queuing_lock_with_checks(), __kmp_destroy_queuing_lock_with_checks(), __kmp_release_nested_queuing_lock_with_checks(), __kmp_release_queuing_lock_with_checks(), __kmp_test_nested_queuing_lock_with_checks(), and __kmp_test_queuing_lock_with_checks().
|
inlinestatic |
Definition at line 74 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_acquire_nested_tas_lock_with_checks(), __kmp_acquire_tas_lock_with_checks(), __kmp_destroy_nested_tas_lock_with_checks(), __kmp_destroy_tas_lock_with_checks(), __kmp_release_nested_tas_lock_with_checks(), __kmp_release_tas_lock_with_checks(), __kmp_test_nested_tas_lock_with_checks(), and __kmp_test_tas_lock_with_checks().
|
static |
Definition at line 3489 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
inlinestatic |
Definition at line 613 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_acquire_nested_ticket_lock_with_checks(), __kmp_acquire_ticket_lock_with_checks(), __kmp_destroy_nested_ticket_lock_with_checks(), __kmp_destroy_ticket_lock_with_checks(), __kmp_release_nested_ticket_lock_with_checks(), __kmp_release_ticket_lock_with_checks(), __kmp_test_nested_ticket_lock_with_checks(), and __kmp_test_ticket_lock_with_checks().
|
static |
Definition at line 3822 of file kmp_lock.cpp.
References __kmp_allocate, __kmp_lock_blocks, __kmp_num_locks_in_block, __kmp_user_lock_size, KMP_DEBUG_ASSERT, KMP_MB, kmp_block_of_locks::locks, kmp_block_of_locks::next_block, and ret.
Referenced by __kmp_user_lock_allocate().
|
static |
Definition at line 3791 of file kmp_lock.cpp.
References __kmp_allocate, __kmp_user_lock_table, KMP_DEBUG_ASSERT, KMP_MEMCPY, lck, and size.
Referenced by __kmp_user_lock_allocate().
kmp_user_lock_p __kmp_lookup_user_lock | ( | void ** | user_lock, |
char const * | func ) |
Definition at line 3912 of file kmp_lock.cpp.
References __kmp_env_consistency_check, __kmp_user_lock_size, __kmp_user_lock_table, func(), KMP_DEBUG_ASSERT, KMP_FATAL, lck, and OMP_LOCK_T_SIZE.
Referenced by __kmpc_destroy_lock(), __kmpc_destroy_nest_lock(), __kmpc_set_lock(), __kmpc_set_nest_lock(), __kmpc_test_lock(), __kmpc_test_nest_lock(), __kmpc_unset_lock(), and __kmpc_unset_nest_lock().
|
extern |
Definition at line 2079 of file z_Linux_util.cpp.
References __kmp_win32_tick.
int __kmp_release_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 2414 of file kmp_lock.cpp.
References KA_TRACE, KMP_FSYNC_RELEASING, KMP_LOCK_RELEASED, lck, and mask.
Referenced by __kmp_release_drdpa_lock_with_checks(), and __kmp_release_nested_drdpa_lock().
|
static |
Definition at line 2427 of file kmp_lock.cpp.
References __kmp_get_drdpa_lock_owner(), __kmp_is_drdpa_lock_nestable(), __kmp_release_drdpa_lock(), func(), KMP_FATAL, KMP_MB, and lck.
int __kmp_release_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 2559 of file kmp_lock.cpp.
References __kmp_release_drdpa_lock(), KMP_DEBUG_ASSERT, KMP_LOCK_RELEASED, KMP_LOCK_STILL_HELD, KMP_MB, and lck.
Referenced by __kmp_release_nested_drdpa_lock_with_checks().
|
static |
Definition at line 2572 of file kmp_lock.cpp.
References __kmp_get_drdpa_lock_owner(), __kmp_is_drdpa_lock_nestable(), __kmp_release_nested_drdpa_lock(), func(), KMP_FATAL, KMP_MB, and lck.
int __kmp_release_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 1608 of file kmp_lock.cpp.
References __kmp_release_queuing_lock(), KMP_DEBUG_ASSERT, KMP_LOCK_RELEASED, KMP_LOCK_STILL_HELD, KMP_MB, and lck.
Referenced by __kmp_release_nested_queuing_lock_with_checks().
|
static |
Definition at line 1622 of file kmp_lock.cpp.
References __kmp_get_queuing_lock_owner(), __kmp_is_queuing_lock_nestable(), __kmp_release_nested_queuing_lock(), func(), KMP_FATAL, KMP_MB, and lck.
int __kmp_release_nested_tas_lock | ( | kmp_tas_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 253 of file kmp_lock.cpp.
References __kmp_release_tas_lock(), KMP_DEBUG_ASSERT, KMP_LOCK_RELEASED, KMP_LOCK_STILL_HELD, KMP_MB, and lck.
Referenced by __kmp_release_nested_tas_lock_with_checks().
|
static |
Definition at line 264 of file kmp_lock.cpp.
References __kmp_get_tas_lock_owner(), __kmp_is_tas_lock_nestable(), __kmp_release_nested_tas_lock(), func(), KMP_FATAL, KMP_MB, and lck.
int __kmp_release_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 870 of file kmp_lock.cpp.
References __kmp_release_ticket_lock(), KMP_DEBUG_ASSERT, KMP_LOCK_RELEASED, KMP_LOCK_STILL_HELD, and lck.
Referenced by __kmp_release_nested_ticket_lock_with_checks().
|
static |
Definition at line 883 of file kmp_lock.cpp.
References __kmp_get_ticket_lock_owner(), __kmp_is_ticket_lock_nestable(), __kmp_release_nested_ticket_lock(), func(), KMP_FATAL, and lck.
int __kmp_release_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 1346 of file kmp_lock.cpp.
References __kmp_thread_from_gtid(), FALSE, head, KA_TRACE, KMP_ASSERT2, KMP_COMPARE_AND_STORE_REL32, KMP_COMPARE_AND_STORE_REL64, KMP_DEBUG_ASSERT, KMP_FSYNC_RELEASING, KMP_LOCK_RELEASED, KMP_MB, KMP_NEQ, KMP_PACK_64, kmp_uint32, KMP_WAIT, lck, RCAST, tail, and TRUE.
Referenced by __kmp_release_atomic_lock(), __kmp_release_nested_queuing_lock(), and __kmp_release_queuing_lock_with_checks().
|
static |
Definition at line 1489 of file kmp_lock.cpp.
References __kmp_get_queuing_lock_owner(), __kmp_is_queuing_lock_nestable(), __kmp_release_queuing_lock(), func(), KMP_FATAL, KMP_MB, and lck.
int __kmp_release_tas_lock | ( | kmp_tas_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 157 of file kmp_lock.cpp.
References KMP_ATOMIC_ST_REL, KMP_FSYNC_RELEASING, KMP_LOCK_FREE, KMP_LOCK_RELEASED, KMP_MB, KMP_YIELD_OVERSUB, and lck.
Referenced by __kmp_create_worker(), __kmp_fulfill_event(), __kmp_release_nested_tas_lock(), __kmp_release_tas_lock_with_checks(), and __kmp_task_finish().
|
static |
Definition at line 168 of file kmp_lock.cpp.
References __kmp_get_tas_lock_owner(), __kmp_is_tas_lock_nestable(), __kmp_release_tas_lock(), func(), KMP_FATAL, KMP_MB, lck, and OMP_LOCK_T_SIZE.
int __kmp_release_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 714 of file kmp_lock.cpp.
References KMP_LOCK_RELEASED, and lck.
Referenced by __kmp_release_bootstrap_lock(), __kmp_release_lock(), __kmp_release_nested_ticket_lock(), and __kmp_release_ticket_lock_with_checks().
|
static |
Definition at line 721 of file kmp_lock.cpp.
References __kmp_get_ticket_lock_owner(), __kmp_is_ticket_lock_nestable(), __kmp_release_ticket_lock(), func(), KMP_FATAL, and lck.
|
static |
Definition at line 2630 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 2621 of file kmp_lock.cpp.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 1681 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 1672 of file kmp_lock.cpp.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 954 of file kmp_lock.cpp.
References lck.
Referenced by __kmp_set_user_lock_vptrs().
|
static |
Definition at line 945 of file kmp_lock.cpp.
Referenced by __kmp_set_user_lock_vptrs().
void __kmp_set_user_lock_vptrs | ( | kmp_lock_kind_t | user_lock_kind | ) |
Definition at line 3570 of file kmp_lock.cpp.
References __kmp_base_user_lock_size, __kmp_destroy_drdpa_lock(), __kmp_destroy_queuing_lock(), __kmp_destroy_tas_lock(), __kmp_destroy_ticket_lock(), __kmp_destroy_user_lock_, __kmp_env_consistency_check, __kmp_get_drdpa_lock_flags(), __kmp_get_drdpa_lock_location(), __kmp_get_drdpa_lock_owner(), __kmp_get_queuing_lock_flags(), __kmp_get_queuing_lock_location(), __kmp_get_queuing_lock_owner(), __kmp_get_tas_lock_owner(), __kmp_get_ticket_lock_flags(), __kmp_get_ticket_lock_location(), __kmp_get_ticket_lock_owner(), __kmp_get_user_lock_flags_, __kmp_get_user_lock_location_, __kmp_get_user_lock_owner_, __kmp_is_drdpa_lock_initialized(), __kmp_is_queuing_lock_initialized(), __kmp_is_ticket_lock_initialized(), __kmp_is_user_lock_initialized_, __kmp_set_drdpa_lock_flags(), __kmp_set_drdpa_lock_location(), __kmp_set_queuing_lock_flags(), __kmp_set_queuing_lock_location(), __kmp_set_ticket_lock_flags(), __kmp_set_ticket_lock_location(), __kmp_set_user_lock_flags_, __kmp_set_user_lock_location_, __kmp_user_lock_size, int, KMP_ASSERT, KMP_BIND_NESTED_USER_LOCK, KMP_BIND_NESTED_USER_LOCK_WITH_CHECKS, KMP_BIND_USER_LOCK, KMP_BIND_USER_LOCK_WITH_CHECKS, lk_default, lk_drdpa, lk_queuing, lk_tas, lk_ticket, and void.
Referenced by __kmp_env_initialize().
void __kmp_spin_backoff | ( | kmp_backoff_t * | boff | ) |
Definition at line 2659 of file kmp_lock.cpp.
References __kmp_tsc, before(), i, KMP_CPU_PAUSE, kmp_uint32, kmp_backoff_t::max_backoff, kmp_backoff_t::min_tick, and kmp_backoff_t::step.
Referenced by __kmp_acquire_tas_lock_timed_template().
int __kmp_test_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 2369 of file kmp_lock.cpp.
References __kmp_atomic_compare_store_acq(), FALSE, KA_TRACE, KMP_FSYNC_ACQUIRED, lck, mask, and TRUE.
Referenced by __kmp_test_drdpa_lock_with_checks(), and __kmp_test_nested_drdpa_lock().
|
static |
Definition at line 2396 of file kmp_lock.cpp.
References __kmp_is_drdpa_lock_nestable(), __kmp_test_drdpa_lock(), func(), KMP_FATAL, and lck.
int __kmp_test_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 2529 of file kmp_lock.cpp.
References __kmp_get_drdpa_lock_owner(), __kmp_test_drdpa_lock(), KMP_DEBUG_ASSERT, KMP_MB, and lck.
Referenced by __kmp_test_nested_drdpa_lock_with_checks().
|
static |
Definition at line 2547 of file kmp_lock.cpp.
References __kmp_is_drdpa_lock_nestable(), __kmp_test_nested_drdpa_lock(), func(), KMP_FATAL, and lck.
int __kmp_test_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 1578 of file kmp_lock.cpp.
References __kmp_get_queuing_lock_owner(), __kmp_test_queuing_lock(), KMP_DEBUG_ASSERT, KMP_MB, and lck.
Referenced by __kmp_test_nested_queuing_lock_with_checks().
|
static |
Definition at line 1596 of file kmp_lock.cpp.
References __kmp_is_queuing_lock_nestable(), __kmp_test_nested_queuing_lock(), func(), KMP_FATAL, and lck.
int __kmp_test_nested_tas_lock | ( | kmp_tas_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 228 of file kmp_lock.cpp.
References __kmp_get_tas_lock_owner(), __kmp_test_tas_lock(), KMP_DEBUG_ASSERT, KMP_MB, and lck.
Referenced by __kmp_test_nested_tas_lock_with_checks().
|
static |
Definition at line 244 of file kmp_lock.cpp.
References __kmp_is_tas_lock_nestable(), __kmp_test_nested_tas_lock(), func(), KMP_FATAL, and lck.
int __kmp_test_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 832 of file kmp_lock.cpp.
References __kmp_get_ticket_lock_owner(), __kmp_test_ticket_lock(), KMP_DEBUG_ASSERT, and lck.
Referenced by __kmp_test_nested_ticket_lock_with_checks().
|
static |
Definition at line 853 of file kmp_lock.cpp.
References __kmp_is_ticket_lock_nestable(), __kmp_test_nested_ticket_lock(), func(), KMP_FATAL, and lck.
int __kmp_test_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 1296 of file kmp_lock.cpp.
References __kmp_thread_from_gtid(), FALSE, head, KA_TRACE, KMP_COMPARE_AND_STORE_ACQ32, KMP_DEBUG_ASSERT, KMP_FSYNC_ACQUIRED, lck, and TRUE.
Referenced by __kmp_test_atomic_lock(), __kmp_test_nested_queuing_lock(), and __kmp_test_queuing_lock_with_checks().
|
static |
Definition at line 1328 of file kmp_lock.cpp.
References __kmp_is_queuing_lock_nestable(), __kmp_test_queuing_lock(), func(), KMP_FATAL, and lck.
int __kmp_test_tas_lock | ( | kmp_tas_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 136 of file kmp_lock.cpp.
References __kmp_atomic_compare_store_acq(), FALSE, KMP_ATOMIC_LD_RLX, KMP_FSYNC_ACQUIRED, KMP_LOCK_BUSY, KMP_LOCK_FREE, lck, and TRUE.
Referenced by __kmp_test_nested_tas_lock(), and __kmp_test_tas_lock_with_checks().
|
static |
Definition at line 147 of file kmp_lock.cpp.
References __kmp_is_tas_lock_nestable(), __kmp_test_tas_lock(), func(), KMP_FATAL, lck, and OMP_LOCK_T_SIZE.
int __kmp_test_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid ) |
Definition at line 674 of file kmp_lock.cpp.
References FALSE, kmp_uint32, lck, and TRUE.
Referenced by __kmp_test_bootstrap_lock(), __kmp_test_lock(), __kmp_test_nested_ticket_lock(), and __kmp_test_ticket_lock_with_checks().
|
static |
Definition at line 690 of file kmp_lock.cpp.
References __kmp_is_ticket_lock_nestable(), __kmp_test_ticket_lock(), func(), KMP_FATAL, and lck.
kmp_user_lock_p __kmp_user_lock_allocate | ( | void ** | user_lock, |
kmp_int32 | gtid, | ||
kmp_lock_flags_t | flags ) |
Definition at line 3850 of file kmp_lock.cpp.
References __kmp_acquire_lock(), __kmp_allocate, __kmp_global_lock, __kmp_lock_block_allocate(), __kmp_lock_pool, __kmp_lock_table_insert(), __kmp_num_locks_in_block, __kmp_release_lock(), __kmp_set_user_lock_flags(), __kmp_user_lock_size, KMP_DEBUG_ASSERT, lck, and OMP_LOCK_T_SIZE.
Referenced by __kmp_get_critical_section_ptr(), __kmpc_init_lock(), and __kmpc_init_nest_lock().
void __kmp_user_lock_free | ( | void ** | user_lock, |
kmp_int32 | gtid, | ||
kmp_user_lock_p | lck ) |
Definition at line 3894 of file kmp_lock.cpp.
References __kmp_acquire_lock(), __kmp_global_lock, __kmp_lock_pool, __kmp_release_lock(), __kmp_user_lock_table, KMP_DEBUG_ASSERT, lck, and OMP_LOCK_T_SIZE.
Referenced by __kmp_get_critical_section_ptr(), __kmpc_destroy_lock(), and __kmpc_destroy_nest_lock().
Definition at line 43 of file kmp_lock.cpp.
References i, KMP_ASSERT, and kmp_uint32.
Referenced by __kmp_do_serial_initialize().
|
inlinestatic |
Definition at line 2654 of file kmp_lock.cpp.
Referenced by __kmp_spin_backoff().
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 3552 of file kmp_lock.cpp.
Referenced by __kmp_acquire_nested_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 3542 of file kmp_lock.cpp.
Referenced by __kmp_acquire_user_lock_with_checks().
size_t __kmp_base_user_lock_size = 0 |
Definition at line 3538 of file kmp_lock.cpp.
Referenced by __kmp_end_critical_section_reduce_block(), __kmp_enter_critical_section_reduce_block(), and __kmp_set_user_lock_vptrs().
void(* __kmp_destroy_nested_user_lock_with_checks_) (kmp_user_lock_p lck) | ( | kmp_user_lock_p | lck | ) | = NULL |
Definition at line 3560 of file kmp_lock.cpp.
Referenced by __kmp_destroy_nested_user_lock_with_checks().
void(* __kmp_destroy_user_lock_) (kmp_user_lock_p lck) | ( | kmp_user_lock_p | lck | ) | = NULL |
Definition at line 3550 of file kmp_lock.cpp.
Referenced by __kmp_destroy_user_lock(), and __kmp_set_user_lock_vptrs().
void(* __kmp_destroy_user_lock_with_checks_) (kmp_user_lock_p lck) | ( | kmp_user_lock_p | lck | ) | = NULL |
Definition at line 3551 of file kmp_lock.cpp.
Referenced by __kmp_destroy_user_lock_with_checks().
kmp_lock_flags_t(* __kmp_get_user_lock_flags_) (kmp_user_lock_p lck) | ( | kmp_user_lock_p | lck | ) | = NULL |
Definition at line 3566 of file kmp_lock.cpp.
Referenced by __kmp_set_user_lock_vptrs().
const ident_t *(* __kmp_get_user_lock_location_) (kmp_user_lock_p lck) | ( | kmp_user_lock_p | lck | ) | = NULL |
Definition at line 3563 of file kmp_lock.cpp.
Referenced by __kmp_get_user_lock_location(), and __kmp_set_user_lock_vptrs().
kmp_int32(* __kmp_get_user_lock_owner_) (kmp_user_lock_p lck) | ( | kmp_user_lock_p | lck | ) | = NULL |
Definition at line 3541 of file kmp_lock.cpp.
Referenced by __kmp_get_user_lock_owner(), and __kmp_set_user_lock_vptrs().
void(* __kmp_init_nested_user_lock_with_checks_) (kmp_user_lock_p lck) | ( | kmp_user_lock_p | lck | ) | = NULL |
Definition at line 3559 of file kmp_lock.cpp.
Referenced by __kmp_init_nested_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 3549 of file kmp_lock.cpp.
Referenced by __kmp_init_user_lock_with_checks().
int(* __kmp_is_user_lock_initialized_) (kmp_user_lock_p lck) | ( | kmp_user_lock_p | lck | ) | = NULL |
Definition at line 3562 of file kmp_lock.cpp.
Referenced by __kmp_cleanup_user_locks(), and __kmp_set_user_lock_vptrs().
kmp_block_of_locks* __kmp_lock_blocks = NULL |
Definition at line 3788 of file kmp_lock.cpp.
Referenced by __kmp_atfork_child(), __kmp_cleanup_user_locks(), and __kmp_lock_block_allocate().
kmp_user_lock_p __kmp_lock_pool = NULL |
Definition at line 3785 of file kmp_lock.cpp.
Referenced by __kmp_cleanup_user_locks(), __kmp_user_lock_allocate(), and __kmp_user_lock_free().
int __kmp_num_locks_in_block = 1 |
Definition at line 3789 of file kmp_lock.cpp.
Referenced by __kmp_lock_block_allocate(), __kmp_stg_parse_lock_block(), __kmp_stg_print_lock_block(), and __kmp_user_lock_allocate().
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 3557 of file kmp_lock.cpp.
Referenced by __kmp_release_nested_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 3547 of file kmp_lock.cpp.
Referenced by __kmp_release_user_lock_with_checks().
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 3567 of file kmp_lock.cpp.
Referenced by __kmp_set_user_lock_flags(), and __kmp_set_user_lock_vptrs().
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 3564 of file kmp_lock.cpp.
Referenced by __kmp_set_user_lock_location(), and __kmp_set_user_lock_vptrs().
kmp_backoff_t __kmp_spin_backoff_params = {1, 256, 100} |
Definition at line 2643 of file kmp_lock.cpp.
Referenced by __kmp_acquire_tas_lock_timed_template(), __kmp_stg_parse_spin_backoff_params(), and __kmp_stg_print_spin_backoff_params().
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 3555 of file kmp_lock.cpp.
Referenced by __kmp_test_nested_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 3545 of file kmp_lock.cpp.
Referenced by __kmp_test_user_lock_with_checks().
enum kmp_lock_kind __kmp_user_lock_kind = lk_default |
Definition at line 3536 of file kmp_lock.cpp.
Referenced by __kmp_env_initialize(), __kmp_stg_parse_lock_kind(), __kmp_stg_print_lock_kind(), __kmpc_critical(), __kmpc_destroy_lock(), __kmpc_destroy_nest_lock(), __kmpc_end_critical(), __kmpc_init_lock(), __kmpc_init_nest_lock(), __kmpc_set_lock(), __kmpc_set_nest_lock(), __kmpc_test_lock(), __kmpc_test_nest_lock(), __kmpc_unset_lock(), and __kmpc_unset_nest_lock().
size_t __kmp_user_lock_size = 0 |
Definition at line 3539 of file kmp_lock.cpp.
Referenced by __kmp_lock_block_allocate(), __kmp_lookup_user_lock(), __kmp_set_user_lock_vptrs(), and __kmp_user_lock_allocate().
kmp_lock_table_t __kmp_user_lock_table = {1, 0, NULL} |
Definition at line 3784 of file kmp_lock.cpp.
Referenced by __kmp_atfork_child(), __kmp_cleanup_user_locks(), __kmp_lock_table_insert(), __kmp_lookup_user_lock(), and __kmp_user_lock_free().