LLVM OpenMP 20.0.0git
|
Go to the source code of this file.
Classes | |
struct | kmp_lock_pool |
struct | kmp_base_tas_lock |
union | kmp_tas_lock |
union | kmp_ticket_lock |
struct | kmp_base_queuing_lock |
union | kmp_queuing_lock |
struct | kmp_base_drdpa_lock |
union | kmp_drdpa_lock |
union | kmp_user_lock |
struct | kmp_lock_table |
struct | kmp_block_of_locks |
struct | kmp_backoff_t |
Typedefs | |
typedef struct ident | ident_t |
typedef kmp_uint32 | kmp_lock_flags_t |
typedef kmp_uint32 | kmp_lock_index_t |
typedef struct kmp_lock_pool | kmp_lock_pool_t |
typedef struct kmp_base_tas_lock | kmp_base_tas_lock_t |
typedef union kmp_tas_lock | kmp_tas_lock_t |
typedef struct kmp_base_ticket_lock | kmp_base_ticket_lock_t |
typedef union kmp_ticket_lock | kmp_ticket_lock_t |
typedef struct kmp_base_queuing_lock | kmp_base_queuing_lock_t |
typedef union kmp_queuing_lock | kmp_queuing_lock_t |
typedef struct kmp_base_drdpa_lock | kmp_base_drdpa_lock_t |
typedef union kmp_drdpa_lock | kmp_drdpa_lock_t |
typedef kmp_ticket_lock_t | kmp_bootstrap_lock_t |
typedef kmp_ticket_lock_t | kmp_lock_t |
typedef enum kmp_lock_kind | kmp_lock_kind_t |
typedef union kmp_user_lock * | kmp_user_lock_p |
typedef struct kmp_lock_table | kmp_lock_table_t |
typedef struct kmp_block_of_locks | kmp_block_of_locks_t |
Enumerations | |
enum | kmp_lock_kind { lk_default = 0 , lk_tas , lk_ticket , lk_queuing , lk_drdpa } |
#define INTEL_CRITICAL_SIZE 32 |
Definition at line 65 of file kmp_lock.h.
#define KMP_BIND_NESTED_USER_LOCK | ( | kind | ) | KMP_BIND_USER_LOCK_TEMPLATE(_nested_, kind, lock) |
Definition at line 932 of file kmp_lock.h.
#define KMP_BIND_NESTED_USER_LOCK_WITH_CHECKS | ( | kind | ) | KMP_BIND_USER_LOCK_TEMPLATE(_nested_, kind, lock_with_checks) |
Definition at line 934 of file kmp_lock.h.
#define KMP_BIND_USER_LOCK | ( | kind | ) | KMP_BIND_USER_LOCK_TEMPLATE(_, kind, lock) |
Definition at line 929 of file kmp_lock.h.
#define KMP_BIND_USER_LOCK_TEMPLATE | ( | nest, | |
kind, | |||
suffix | |||
) |
Definition at line 915 of file kmp_lock.h.
#define KMP_BIND_USER_LOCK_WITH_CHECKS | ( | kind | ) | KMP_BIND_USER_LOCK_TEMPLATE(_, kind, lock_with_checks) |
Definition at line 930 of file kmp_lock.h.
#define KMP_BOOTSTRAP_LOCK_INIT | ( | lock | ) | kmp_bootstrap_lock_t lock = KMP_TICKET_LOCK_INITIALIZER(lock) |
Definition at line 524 of file kmp_lock.h.
#define KMP_BOOTSTRAP_LOCK_INITIALIZER | ( | lock | ) | KMP_TICKET_LOCK_INITIALIZER((lock)) |
Definition at line 523 of file kmp_lock.h.
#define KMP_CHECK_USER_LOCK_INIT | ( | ) |
Definition at line 990 of file kmp_lock.h.
#define KMP_GTID_DNE (-2) |
Definition at line 34 of file kmp_lock.h.
#define kmp_lf_critical_section 1 |
Definition at line 70 of file kmp_lock.h.
#define KMP_LOCK_ACQUIRED_FIRST 1 |
Definition at line 166 of file kmp_lock.h.
#define KMP_LOCK_ACQUIRED_NEXT 0 |
Definition at line 167 of file kmp_lock.h.
#define KMP_LOCK_BUSY | ( | v, | |
type | |||
) | (v) |
Definition at line 1283 of file kmp_lock.h.
#define KMP_LOCK_FREE | ( | type | ) | 0 |
Definition at line 1284 of file kmp_lock.h.
#define KMP_LOCK_INIT | ( | lock | ) | kmp_lock_t lock = KMP_TICKET_LOCK_INITIALIZER(lock) |
Definition at line 557 of file kmp_lock.h.
#define KMP_LOCK_RELEASED 1 |
Definition at line 164 of file kmp_lock.h.
#define KMP_LOCK_STILL_HELD 0 |
Definition at line 165 of file kmp_lock.h.
#define KMP_LOCK_STRIP | ( | v | ) | (v) |
Definition at line 1285 of file kmp_lock.h.
Definition at line 32 of file kmp_lock.h.
#define KMP_TAS_LOCK_INITIALIZER | ( | lock | ) |
Definition at line 147 of file kmp_lock.h.
#define KMP_TICKET_LOCK_INITIALIZER | ( | lock | ) |
Definition at line 285 of file kmp_lock.h.
#define KMP_USE_FUTEX |
Definition at line 169 of file kmp_lock.h.
#define OMP_CRITICAL_SIZE sizeof(void *) |
Definition at line 64 of file kmp_lock.h.
#define OMP_LOCK_T_SIZE sizeof(void *) |
Definition at line 57 of file kmp_lock.h.
#define OMP_NEST_LOCK_T_SIZE sizeof(void *) |
Definition at line 58 of file kmp_lock.h.
Definition at line 39 of file kmp_lock.h.
typedef struct kmp_base_drdpa_lock kmp_base_drdpa_lock_t |
Definition at line 483 of file kmp_lock.h.
typedef struct kmp_base_queuing_lock kmp_base_queuing_lock_t |
Definition at line 384 of file kmp_lock.h.
typedef struct kmp_base_tas_lock kmp_base_tas_lock_t |
Definition at line 135 of file kmp_lock.h.
typedef struct kmp_base_ticket_lock kmp_base_ticket_lock_t |
Definition at line 270 of file kmp_lock.h.
typedef struct kmp_block_of_locks kmp_block_of_locks_t |
Definition at line 976 of file kmp_lock.h.
Definition at line 521 of file kmp_lock.h.
typedef union kmp_drdpa_lock kmp_drdpa_lock_t |
Definition at line 493 of file kmp_lock.h.
typedef kmp_uint32 kmp_lock_flags_t |
Definition at line 68 of file kmp_lock.h.
typedef kmp_uint32 kmp_lock_index_t |
Definition at line 73 of file kmp_lock.h.
typedef enum kmp_lock_kind kmp_lock_kind_t |
Definition at line 605 of file kmp_lock.h.
typedef struct kmp_lock_pool kmp_lock_pool_t |
Definition at line 82 of file kmp_lock.h.
typedef kmp_ticket_lock_t kmp_lock_t |
Definition at line 555 of file kmp_lock.h.
typedef struct kmp_lock_table kmp_lock_table_t |
Definition at line 966 of file kmp_lock.h.
typedef union kmp_queuing_lock kmp_queuing_lock_t |
Definition at line 396 of file kmp_lock.h.
typedef union kmp_tas_lock kmp_tas_lock_t |
Definition at line 143 of file kmp_lock.h.
typedef union kmp_ticket_lock kmp_ticket_lock_t |
Definition at line 280 of file kmp_lock.h.
typedef union kmp_user_lock* kmp_user_lock_p |
Definition at line 623 of file kmp_lock.h.
enum kmp_lock_kind |
Enumerator | |
---|---|
lk_default | |
lk_tas | |
lk_ticket | |
lk_queuing | |
lk_drdpa |
Definition at line 586 of file kmp_lock.h.
|
inlinestatic |
Definition at line 527 of file kmp_lock.h.
References __kmp_acquire_ticket_lock(), KMP_GTID_DNE, and lck.
Referenced by __kmp_abort_process(), __kmp_allocate_task_team(), __kmp_allocate_thread(), __kmp_atfork_prepare(), __kmp_aux_set_stacksize(), __kmp_dump_debug_buffer(), __kmp_expand_threads(), __kmp_fork_call(), __kmp_fprintf(), __kmp_free_task_deque(), __kmp_free_task_pri_list(), __kmp_free_task_team(), __kmp_free_task_threads_data(), __kmp_get_global_thread_id_reg(), __kmp_get_priority_task(), __kmp_give_task(), __kmp_hidden_helper_initialize(), __kmp_i18n_catopen(), __kmp_internal_end(), __kmp_internal_end_library(), __kmp_internal_end_thread(), __kmp_join_call(), __kmp_middle_initialize(), __kmp_omp_display_env(), __kmp_omp_task(), __kmp_parallel_initialize(), __kmp_print_storage_map_gtid(), __kmp_printf(), __kmp_push_priority_task(), __kmp_push_task(), __kmp_realloc_task_threads_data(), __kmp_reap_task_teams(), __kmp_register_root(), __kmp_remove_my_task(), __kmp_serial_initialize(), __kmp_serialized_parallel(), __kmp_set_num_threads(), __kmp_steal_task(), __kmp_unregister_root_current_thread(), __kmp_warn(), __kmpc_omp_task_with_deps(), and __kmpc_threadprivate_cached().
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().
|
inlinestatic |
Definition at line 559 of file kmp_lock.h.
References __kmp_acquire_ticket_lock(), and lck.
Referenced by __kmp_dispatch_next_algorithm(), __kmp_internal_begin(), __kmp_user_lock_allocate(), __kmp_user_lock_free(), __kmpc_threadprivate_cached(), kmp_threadprivate_insert(), and kmp_threadprivate_insert_private_data().
int __kmp_acquire_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 2508 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().
int __kmp_acquire_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 1556 of file kmp_lock.cpp.
References __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().
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().
int __kmp_acquire_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 805 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().
|
inlinestatic |
Definition at line 789 of file kmp_lock.h.
References __kmp_acquire_nested_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
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().
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().
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().
|
inlinestatic |
Definition at line 675 of file kmp_lock.h.
References __kmp_acquire_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
Referenced by __kmp_enter_critical_section_reduce_block(), and __kmpc_critical().
void __kmp_cleanup_user_locks | ( | ) |
Definition at line 3948 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, kmp_lock_table::allocated, 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, id::psource, kmp_lock_table::table, TCW_4, and kmp_lock_table::used.
Referenced by __kmp_cleanup().
|
inlinestatic |
Definition at line 543 of file kmp_lock.h.
References __kmp_destroy_ticket_lock(), and lck.
void __kmp_destroy_drdpa_lock | ( | kmp_drdpa_lock_t * | lck | ) |
Definition at line 2472 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().
|
inlinestatic |
Definition at line 575 of file kmp_lock.h.
References __kmp_destroy_ticket_lock(), and lck.
Referenced by __kmp_dephash_free_entries(), and __kmp_dispatch_next().
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().
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().
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().
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().
|
inlinestatic |
Definition at line 857 of file kmp_lock.h.
References __kmp_destroy_nested_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
void __kmp_destroy_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1529 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().
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().
void __kmp_destroy_ticket_lock | ( | kmp_ticket_lock_t * | lck | ) |
Definition at line 770 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().
|
inlinestatic |
Definition at line 735 of file kmp_lock.h.
References __kmp_destroy_user_lock_, KMP_DEBUG_ASSERT, and lck.
Referenced by __kmp_cleanup_user_locks().
|
inlinestatic |
Definition at line 742 of file kmp_lock.h.
References __kmp_destroy_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
Referenced by __kmp_get_critical_section_ptr().
|
inlinestatic |
Definition at line 881 of file kmp_lock.h.
References __kmp_get_user_lock_location_, and lck.
Referenced by __kmp_cleanup_user_locks().
|
inlinestatic |
Definition at line 632 of file kmp_lock.h.
References __kmp_get_user_lock_owner_, KMP_DEBUG_ASSERT, and lck.
Referenced by __kmp_check_sync().
|
inlinestatic |
Definition at line 539 of file kmp_lock.h.
References __kmp_init_ticket_lock(), and lck.
Referenced by __kmp_alloc_task_deque(), __kmp_alloc_task_pri_list(), __kmp_allocate_task_team(), __kmp_atfork_child(), and __kmp_do_serial_initialize().
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().
|
inlinestatic |
Definition at line 571 of file kmp_lock.h.
References __kmp_init_ticket_lock(), and lck.
Referenced by __kmp_dispatch_init_algorithm(), __kmp_do_serial_initialize(), __kmp_init_node(), __kmp_initialize_root(), and __kmp_process_deps().
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().
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().
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().
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().
|
inlinestatic |
Definition at line 849 of file kmp_lock.h.
References __kmp_init_nested_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
void __kmp_init_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1516 of file kmp_lock.cpp.
Referenced by __kmp_do_serial_initialize(), __kmp_init_atomic_lock(), __kmp_init_nested_queuing_lock(), and __kmp_init_queuing_lock_with_checks().
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().
void __kmp_init_ticket_lock | ( | kmp_ticket_lock_t * | lck | ) |
Definition at line 753 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().
|
inlinestatic |
Definition at line 726 of file kmp_lock.h.
References __kmp_init_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
Referenced by __kmp_get_critical_section_ptr().
kmp_user_lock_p __kmp_lookup_user_lock | ( | void ** | user_lock, |
char const * | func | ||
) |
Definition at line 3916 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, OMP_LOCK_T_SIZE, kmp_lock_table::table, and kmp_lock_table::used.
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().
|
inlinestatic |
Definition at line 535 of file kmp_lock.h.
References __kmp_release_ticket_lock(), KMP_GTID_DNE, and lck.
Referenced by __kmp_abort_process(), __kmp_allocate_task_team(), __kmp_allocate_thread(), __kmp_atfork_child(), __kmp_atfork_parent(), __kmp_aux_set_stacksize(), __kmp_dump_debug_buffer(), __kmp_expand_threads(), __kmp_fork_call(), __kmp_fprintf(), __kmp_free_task_deque(), __kmp_free_task_pri_list(), __kmp_free_task_team(), __kmp_free_task_threads_data(), __kmp_get_global_thread_id_reg(), __kmp_get_priority_task(), __kmp_give_task(), __kmp_hidden_helper_initialize(), __kmp_i18n_catopen(), __kmp_internal_end(), __kmp_internal_end_library(), __kmp_internal_end_thread(), __kmp_join_call(), __kmp_middle_initialize(), __kmp_omp_display_env(), __kmp_omp_task(), __kmp_parallel_initialize(), __kmp_print_storage_map_gtid(), __kmp_printf(), __kmp_push_priority_task(), __kmp_push_task(), __kmp_realloc_task_threads_data(), __kmp_reap_task_teams(), __kmp_register_root(), __kmp_remove_my_task(), __kmp_serial_initialize(), __kmp_serialized_parallel(), __kmp_set_num_threads(), __kmp_steal_task(), __kmp_unregister_root_current_thread(), __kmp_warn(), __kmpc_omp_task_with_deps(), and __kmpc_threadprivate_cached().
int __kmp_release_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 2421 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().
|
inlinestatic |
Definition at line 567 of file kmp_lock.h.
References __kmp_release_ticket_lock(), and lck.
Referenced by __kmp_dispatch_next_algorithm(), __kmp_internal_begin(), __kmp_release_deps(), __kmp_task_is_allowed(), __kmp_user_lock_allocate(), __kmp_user_lock_free(), __kmpc_threadprivate_cached(), kmp_threadprivate_insert(), and kmp_threadprivate_insert_private_data().
int __kmp_release_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 2566 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().
int __kmp_release_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 1615 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().
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().
int __kmp_release_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 877 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().
|
inlinestatic |
Definition at line 840 of file kmp_lock.h.
References __kmp_release_nested_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
int __kmp_release_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 1353 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_WAIT, lck, RCAST, tail, and TRUE.
Referenced by __kmp_release_atomic_lock(), __kmp_release_nested_queuing_lock(), and __kmp_release_queuing_lock_with_checks().
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().
int __kmp_release_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 714 of file kmp_lock.cpp.
References __kmp_avail_proc, __kmp_xproc, KMP_LOCK_RELEASED, KMP_YIELD, and lck.
Referenced by __kmp_release_bootstrap_lock(), __kmp_release_lock(), __kmp_release_nested_ticket_lock(), and __kmp_release_ticket_lock_with_checks().
|
inlinestatic |
Definition at line 718 of file kmp_lock.h.
References __kmp_release_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
Referenced by __kmp_end_critical_section_reduce_block(), and __kmpc_end_critical().
|
inlinestatic |
Definition at line 904 of file kmp_lock.h.
References __kmp_set_user_lock_flags_, kmp_base_queuing_lock::flags, and lck.
Referenced by __kmp_user_lock_allocate().
|
inlinestatic |
Definition at line 892 of file kmp_lock.h.
References __kmp_set_user_lock_location_, lck, and loc.
Referenced by __kmp_get_critical_section_ptr(), __kmpc_init_lock(), and __kmpc_init_nest_lock().
void __kmp_set_user_lock_vptrs | ( | kmp_lock_kind_t | user_lock_kind | ) |
Definition at line 3574 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 2666 of file kmp_lock.cpp.
References __kmp_tsc, before(), i, KMP_CPU_PAUSE, kmp_backoff_t::max_backoff, kmp_backoff_t::min_tick, and kmp_backoff_t::step.
Referenced by __kmp_acquire_tas_lock_timed_template().
|
inlinestatic |
Definition at line 531 of file kmp_lock.h.
References __kmp_test_ticket_lock(), KMP_GTID_DNE, and lck.
int __kmp_test_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 2376 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().
|
inlinestatic |
Definition at line 563 of file kmp_lock.h.
References __kmp_test_ticket_lock(), and lck.
Referenced by __kmp_task_is_allowed().
int __kmp_test_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 2536 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().
int __kmp_test_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 1585 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().
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().
int __kmp_test_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 839 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().
|
inlinestatic |
Definition at line 829 of file kmp_lock.h.
References __kmp_test_nested_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
int __kmp_test_queuing_lock | ( | kmp_queuing_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 1303 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().
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().
int __kmp_test_ticket_lock | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
Definition at line 674 of file kmp_lock.cpp.
References FALSE, lck, and TRUE.
Referenced by __kmp_test_bootstrap_lock(), __kmp_test_lock(), __kmp_test_nested_ticket_lock(), and __kmp_test_ticket_lock_with_checks().
int __kmp_test_ticket_lock_with_cheks | ( | kmp_ticket_lock_t * | lck, |
kmp_int32 | gtid | ||
) |
|
inlinestatic |
Definition at line 708 of file kmp_lock.h.
References __kmp_test_user_lock_with_checks_, KMP_DEBUG_ASSERT, and lck.
kmp_user_lock_p __kmp_user_lock_allocate | ( | void ** | user_lock, |
kmp_int32 | gtid, | ||
kmp_lock_flags_t | flags | ||
) |
Definition at line 3854 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_lock_pool::index, KMP_DEBUG_ASSERT, lck, kmp_lock_pool::next, OMP_LOCK_T_SIZE, and kmp_user_lock::pool.
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 3898 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, OMP_LOCK_T_SIZE, and kmp_lock_table::used.
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().
KMP_BUILD_ASSERT | ( | offsetof(kmp_base_queuing_lock_t, tail_id) % | 8 = =0 | ) |
|
extern |
Definition at line 3556 of file kmp_lock.cpp.
Referenced by __kmp_acquire_nested_user_lock_with_checks().
|
extern |
Definition at line 3546 of file kmp_lock.cpp.
Referenced by __kmp_acquire_user_lock_with_checks().
|
extern |
Definition at line 3542 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().
|
extern |
Definition at line 3564 of file kmp_lock.cpp.
Referenced by __kmp_destroy_nested_user_lock_with_checks().
|
extern |
Definition at line 3554 of file kmp_lock.cpp.
Referenced by __kmp_destroy_user_lock(), and __kmp_set_user_lock_vptrs().
|
extern |
Definition at line 3555 of file kmp_lock.cpp.
Referenced by __kmp_destroy_user_lock_with_checks().
|
extern |
Definition at line 3570 of file kmp_lock.cpp.
Referenced by __kmp_set_user_lock_vptrs().
|
extern |
Definition at line 3567 of file kmp_lock.cpp.
Referenced by __kmp_get_user_lock_location(), and __kmp_set_user_lock_vptrs().
|
extern |
Definition at line 3545 of file kmp_lock.cpp.
Referenced by __kmp_get_user_lock_owner(), and __kmp_set_user_lock_vptrs().
|
extern |
Definition at line 3563 of file kmp_lock.cpp.
Referenced by __kmp_init_nested_user_lock_with_checks().
|
extern |
Definition at line 3553 of file kmp_lock.cpp.
Referenced by __kmp_init_user_lock_with_checks().
|
extern |
Definition at line 3566 of file kmp_lock.cpp.
Referenced by __kmp_cleanup_user_locks(), and __kmp_set_user_lock_vptrs().
|
extern |
Definition at line 3792 of file kmp_lock.cpp.
Referenced by __kmp_atfork_child(), __kmp_cleanup_user_locks(), and __kmp_lock_block_allocate().
|
extern |
Definition at line 3789 of file kmp_lock.cpp.
Referenced by __kmp_cleanup_user_locks(), __kmp_user_lock_allocate(), and __kmp_user_lock_free().
|
extern |
Definition at line 3793 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().
|
extern |
Definition at line 3561 of file kmp_lock.cpp.
Referenced by __kmp_release_nested_user_lock_with_checks().
|
extern |
Definition at line 3551 of file kmp_lock.cpp.
Referenced by __kmp_release_user_lock_with_checks().
|
extern |
Definition at line 3571 of file kmp_lock.cpp.
Referenced by __kmp_set_user_lock_flags(), and __kmp_set_user_lock_vptrs().
|
extern |
Definition at line 3568 of file kmp_lock.cpp.
Referenced by __kmp_set_user_lock_location(), and __kmp_set_user_lock_vptrs().
|
extern |
Definition at line 2650 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().
|
extern |
Definition at line 3559 of file kmp_lock.cpp.
Referenced by __kmp_test_nested_user_lock_with_checks().
|
extern |
Definition at line 3549 of file kmp_lock.cpp.
Referenced by __kmp_test_user_lock_with_checks().
|
extern |
Definition at line 3540 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().
|
extern |
Definition at line 3543 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().
|
extern |
Definition at line 3788 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().