#include <limits.h>
#include <stddef.h>
#include "kmp_os.h"
#include "kmp_debug.h"
Go to the source code of this file.
#define INTEL_CRITICAL_SIZE 32 |
Definition at line 100 of file kmp_lock.h.
Referenced by __kmp_enter_critical_section_reduce_block().
Definition at line 465 of file kmp_lock.h.
#define KMP_CHECK_USER_LOCK_INIT | ( | ) |
{ \ if ( ! TCR_4( __kmp_init_user_locks ) ) { \ __kmp_acquire_bootstrap_lock( &__kmp_initz_lock ); \ if ( ! TCR_4( __kmp_init_user_locks ) ) { \ TCW_4( __kmp_init_user_locks, TRUE ); \ } \ __kmp_release_bootstrap_lock( &__kmp_initz_lock ); \ } \ }
Definition at line 946 of file kmp_lock.h.
Referenced by __kmpc_critical(), __kmpc_init_lock(), and __kmpc_init_nest_lock().
#define KMP_FSYNC_ACQUIRED | ( | x | ) | ((void)0) |
Definition at line 598 of file kmp_lock.h.
#define KMP_FSYNC_PREPARE | ( | x | ) | ((void)0) |
Definition at line 597 of file kmp_lock.h.
#define KMP_GTID_DNE (-2) |
Definition at line 65 of file kmp_lock.h.
#define kmp_lf_atomic 2 |
Definition at line 108 of file kmp_lock.h.
Referenced by __kmp_init_atomic_lock().
#define kmp_lf_critical_section 1 |
Definition at line 107 of file kmp_lock.h.
Referenced by __kmp_get_critical_section_ptr().
#define KMP_NESTED_LOCK_HELD 0 |
Definition at line 207 of file kmp_lock.h.
Referenced by __kmp_release_nested_drdpa_lock(), __kmp_release_nested_queuing_lock(), __kmp_release_nested_tas_lock(), and __kmp_release_nested_ticket_lock().
#define KMP_NESTED_LOCK_RELEASED 1 |
Definition at line 206 of file kmp_lock.h.
Referenced by __kmp_release_nested_drdpa_lock(), __kmp_release_nested_queuing_lock(), __kmp_release_nested_tas_lock(), __kmp_release_nested_ticket_lock(), and __kmpc_unset_nest_lock().
#define KMP_PAD | ( | type, | |||
sz | ) | (sizeof(type) + (sz - ((sizeof(type) - 1) % (sz)) - 1)) |
Definition at line 64 of file kmp_lock.h.
#define KMP_TAS_LOCK_INITIALIZER | ( | lock | ) | { { 0, 0 } } |
Definition at line 192 of file kmp_lock.h.
#define KMP_TICKET_LOCK_INITIALIZER | ( | lock | ) | { { (kmp_ticket_lock_t *) & (lock), NULL, 0, 0, 0, -1 } } |
Definition at line 294 of file kmp_lock.h.
#define OMP_CRITICAL_SIZE sizeof(void *) |
Definition at line 99 of file kmp_lock.h.
Referenced by __kmpc_critical(), and __kmpc_end_critical().
#define OMP_LOCK_T_SIZE sizeof(void *) |
Definition at line 90 of file kmp_lock.h.
Referenced by __kmp_acquire_tas_lock_with_checks(), __kmp_destroy_tas_lock_with_checks(), __kmp_lookup_user_lock(), __kmp_release_tas_lock_with_checks(), __kmp_test_tas_lock_with_checks(), __kmp_user_lock_allocate(), __kmp_user_lock_free(), __kmpc_destroy_lock(), __kmpc_init_lock(), __kmpc_set_lock(), __kmpc_test_lock(), and __kmpc_unset_lock().
#define OMP_NEST_LOCK_T_SIZE sizeof(void *) |
Definition at line 91 of file kmp_lock.h.
Referenced by __kmpc_destroy_nest_lock(), __kmpc_init_nest_lock(), __kmpc_set_nest_lock(), __kmpc_test_nest_lock(), and __kmpc_unset_nest_lock().
#define OMPT_SUPPORT 1 |
Definition at line 355 of file kmp_lock.h.
Definition at line 70 of file kmp_lock.h.
typedef struct kmp_base_drdpa_lock kmp_base_drdpa_lock_t |
Definition at line 424 of file kmp_lock.h.
typedef struct kmp_base_queuing_lock kmp_base_queuing_lock_t |
Definition at line 336 of file kmp_lock.h.
typedef struct kmp_base_tas_lock kmp_base_tas_lock_t |
Definition at line 177 of file kmp_lock.h.
typedef struct kmp_base_ticket_lock kmp_base_ticket_lock_t |
Definition at line 278 of file kmp_lock.h.
typedef struct kmp_block_of_locks kmp_block_of_locks_t |
Definition at line 936 of file kmp_lock.h.
Definition at line 463 of file kmp_lock.h.
typedef union kmp_drdpa_lock kmp_drdpa_lock_t |
Definition at line 433 of file kmp_lock.h.
typedef kmp_uint32 kmp_lock_flags_t |
Definition at line 105 of file kmp_lock.h.
typedef kmp_uint32 kmp_lock_index_t |
Definition at line 113 of file kmp_lock.h.
typedef enum kmp_lock_kind kmp_lock_kind_t |
Definition at line 566 of file kmp_lock.h.
typedef struct kmp_lock_pool kmp_lock_pool_t |
Definition at line 124 of file kmp_lock.h.
typedef kmp_ticket_lock_t kmp_lock_t |
Definition at line 510 of file kmp_lock.h.
typedef struct kmp_lock_table kmp_lock_table_t |
Definition at line 926 of file kmp_lock.h.
typedef union kmp_queuing_lock kmp_queuing_lock_t |
Definition at line 347 of file kmp_lock.h.
typedef union kmp_tas_lock kmp_tas_lock_t |
Definition at line 186 of file kmp_lock.h.
typedef union kmp_ticket_lock kmp_ticket_lock_t |
Definition at line 287 of file kmp_lock.h.
typedef union kmp_user_lock* kmp_user_lock_p |
Definition at line 581 of file kmp_lock.h.
enum kmp_lock_kind |
Definition at line 555 of file kmp_lock.h.
void __kmp_acquire_bootstrap_lock | ( | kmp_bootstrap_lock_t * | lck | ) | [inline] |
Definition at line 468 of file kmp_lock.h.
References __kmp_acquire_ticket_lock(), and KMP_GTID_DNE.
Referenced by __kmp_abort_process(), __kmp_allocate_thread(), __kmp_aux_set_stacksize(), __kmp_dump_debug_buffer(), __kmp_expand_threads(), __kmp_fork_call(), __kmp_get_global_thread_id_reg(), __kmp_i18n_catopen(), __kmp_internal_end(), __kmp_internal_end_library(), __kmp_internal_end_thread(), __kmp_join_call(), __kmp_middle_initialize(), __kmp_parallel_initialize(), __kmp_print_storage_map_gtid(), __kmp_printf(), __kmp_register_root(), __kmp_serial_initialize(), __kmp_set_num_threads(), __kmp_unregister_root_current_thread(), __kmp_warn(), __kmpc_serialized_parallel(), and __kmpc_threadprivate_cached().
void __kmp_acquire_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 2144 of file kmp_lock.cpp.
References __kmp_acquire_drdpa_lock_timed_template().
Referenced by __kmp_acquire_drdpa_lock_with_checks().
void __kmp_acquire_lock | ( | kmp_lock_t * | lck, | |
kmp_int32 | gtid | |||
) | [inline] |
Definition at line 513 of file kmp_lock.h.
References __kmp_acquire_ticket_lock().
Referenced by __kmp_alloc_taskq(), __kmp_alloc_thunk(), __kmp_dequeue_task(), __kmp_enqueue_task(), __kmp_execute_task_from_queue(), __kmp_find_and_remove_finished_child_taskq(), __kmp_find_task_in_ancestor_queue(), __kmp_find_task_in_descendant_queue(), __kmp_find_task_in_queue(), __kmp_free_taskq(), __kmp_free_thunk(), __kmp_internal_begin(), __kmp_remove_queue_from_tree(), __kmp_user_lock_allocate(), __kmp_user_lock_free(), __kmpc_end_taskq(), __kmpc_end_taskq_task(), __kmpc_taskq(), __kmpc_threadprivate_cached(), kmp_threadprivate_insert(), and kmp_threadprivate_insert_private_data().
void __kmp_acquire_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 2341 of file kmp_lock.cpp.
References __kmp_acquire_drdpa_lock_timed_template(), __kmp_get_drdpa_lock_owner(), kmp_base_drdpa_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, kmp_drdpa_lock::lk, and kmp_base_drdpa_lock::owner_id.
Referenced by __kmp_acquire_nested_drdpa_lock_with_checks().
void __kmp_acquire_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 1783 of file kmp_lock.cpp.
References __kmp_get_queuing_lock_owner(), kmp_base_queuing_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, and kmp_queuing_lock::lk.
Referenced by __kmp_acquire_nested_queuing_lock_with_checks().
void __kmp_acquire_nested_tas_lock | ( | kmp_tas_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 299 of file kmp_lock.cpp.
References __kmp_acquire_tas_lock_timed_template(), __kmp_get_tas_lock_owner(), kmp_base_tas_lock::depth_locked, KMP_DEBUG_ASSERT, and kmp_tas_lock::lk.
Referenced by __kmp_acquire_nested_tas_lock_with_checks().
void __kmp_acquire_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 987 of file kmp_lock.cpp.
References __kmp_acquire_ticket_lock_timed_template(), __kmp_get_ticket_lock_owner(), kmp_base_ticket_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, kmp_ticket_lock::lk, and kmp_base_ticket_lock::owner_id.
Referenced by __kmp_acquire_nested_ticket_lock_with_checks().
void __kmp_acquire_nested_user_lock_with_checks | ( | kmp_user_lock_p | lck, | |
kmp_int32 | gtid | |||
) | [inline] |
Definition at line 761 of file kmp_lock.h.
References __kmp_acquire_nested_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
void __kmp_acquire_queuing_lock | ( | kmp_queuing_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 1480 of file kmp_lock.cpp.
References KMP_DEBUG_ASSERT.
Referenced by __kmp_acquire_atomic_lock(), and __kmp_acquire_queuing_lock_with_checks().
void __kmp_acquire_tas_lock | ( | kmp_tas_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 182 of file kmp_lock.cpp.
References __kmp_acquire_tas_lock_timed_template().
Referenced by __kmp_acquire_tas_lock_with_checks().
void __kmp_acquire_ticket_lock | ( | kmp_ticket_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 831 of file kmp_lock.cpp.
References __kmp_acquire_ticket_lock_timed_template().
Referenced by __kmp_acquire_bootstrap_lock(), __kmp_acquire_lock(), and __kmp_acquire_ticket_lock_with_checks().
void __kmp_acquire_user_lock_with_checks | ( | kmp_user_lock_p | lck, | |
kmp_int32 | gtid | |||
) | [inline] |
Definition at line 639 of file kmp_lock.h.
References __kmp_acquire_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
Referenced by __kmp_enter_critical_section_reduce_block(), and __kmpc_critical().
void __kmp_cleanup_user_locks | ( | ) |
Definition at line 3107 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_str_loc_free(), __kmp_str_loc_init(), kmp_lock_table::allocated, kmp_str_loc::col, FALSE, kmp_str_loc::file, kmp_str_loc::func, IS_CRITICAL, KA_TRACE, KMP_WARNING, kmp_str_loc::line, kmp_block_of_locks::locks, kmp_block_of_locks::next_block, ident::psource, kmp_lock_table::table, TCW_4, and kmp_lock_table::used.
Referenced by __kmp_cleanup().
void __kmp_destroy_bootstrap_lock | ( | kmp_bootstrap_lock_t * | lck | ) | [inline] |
Definition at line 492 of file kmp_lock.h.
References __kmp_destroy_ticket_lock().
void __kmp_destroy_drdpa_lock | ( | kmp_drdpa_lock_t * | lck | ) |
Definition at line 2296 of file kmp_lock.cpp.
References __kmp_free, kmp_base_drdpa_lock::cleanup_ticket, kmp_base_drdpa_lock::depth_locked, kmp_base_drdpa_lock::initialized, kmp_drdpa_lock::lk, kmp_base_drdpa_lock::location, kmp_base_drdpa_lock::mask, kmp_base_drdpa_lock::next_ticket, kmp_base_drdpa_lock::now_serving, kmp_base_drdpa_lock::num_polls, kmp_base_drdpa_lock::old_polls, kmp_base_drdpa_lock::owner_id, and kmp_base_drdpa_lock::polls.
Referenced by __kmp_destroy_drdpa_lock_with_checks(), __kmp_destroy_nested_drdpa_lock(), and __kmp_set_user_lock_vptrs().
void __kmp_destroy_lock | ( | kmp_lock_t * | lck | ) | [inline] |
Definition at line 537 of file kmp_lock.h.
References __kmp_destroy_ticket_lock().
Referenced by __kmp_free_taskq().
void __kmp_destroy_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck | ) |
Definition at line 2460 of file kmp_lock.cpp.
References __kmp_destroy_drdpa_lock(), kmp_base_drdpa_lock::depth_locked, and kmp_drdpa_lock::lk.
Referenced by __kmp_destroy_nested_drdpa_lock_with_checks().
void __kmp_destroy_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1903 of file kmp_lock.cpp.
References __kmp_destroy_queuing_lock(), kmp_base_queuing_lock::depth_locked, and kmp_queuing_lock::lk.
Referenced by __kmp_destroy_nested_queuing_lock_with_checks().
void __kmp_destroy_nested_tas_lock | ( | kmp_tas_lock_t * | lck | ) |
Definition at line 402 of file kmp_lock.cpp.
References __kmp_destroy_tas_lock(), kmp_base_tas_lock::depth_locked, and kmp_tas_lock::lk.
Referenced by __kmp_destroy_nested_tas_lock_with_checks().
void __kmp_destroy_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck | ) |
Definition at line 1107 of file kmp_lock.cpp.
References __kmp_destroy_ticket_lock(), kmp_base_ticket_lock::depth_locked, and kmp_ticket_lock::lk.
Referenced by __kmp_destroy_nested_ticket_lock_with_checks().
void __kmp_destroy_nested_user_lock_with_checks | ( | kmp_user_lock_p | lck | ) | [inline] |
Definition at line 827 of file kmp_lock.h.
References __kmp_destroy_nested_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
void __kmp_destroy_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1747 of file kmp_lock.cpp.
References kmp_base_queuing_lock::depth_locked, kmp_base_queuing_lock::head_id, kmp_base_queuing_lock::initialized, kmp_queuing_lock::lk, kmp_base_queuing_lock::location, kmp_base_queuing_lock::next_ticket, kmp_base_queuing_lock::now_serving, and kmp_base_queuing_lock::owner_id.
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 272 of file kmp_lock.cpp.
References kmp_tas_lock::lk, and kmp_base_tas_lock::poll.
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 953 of file kmp_lock.cpp.
References kmp_base_ticket_lock::depth_locked, kmp_base_ticket_lock::initialized, kmp_ticket_lock::lk, kmp_base_ticket_lock::location, kmp_base_ticket_lock::next_ticket, kmp_base_ticket_lock::now_serving, and kmp_base_ticket_lock::owner_id.
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().
void __kmp_destroy_user_lock | ( | kmp_user_lock_p | lck | ) | [inline] |
Definition at line 703 of file kmp_lock.h.
References __kmp_destroy_user_lock_, and KMP_DEBUG_ASSERT.
Referenced by __kmp_cleanup_user_locks().
void __kmp_destroy_user_lock_with_checks | ( | kmp_user_lock_p | lck | ) | [inline] |
Definition at line 712 of file kmp_lock.h.
References __kmp_destroy_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
Referenced by __kmp_get_critical_section_ptr().
const ident_t* __kmp_get_user_lock_location | ( | kmp_user_lock_p | lck | ) | [inline] |
Definition at line 855 of file kmp_lock.h.
References __kmp_get_user_lock_location_.
Referenced by __kmp_cleanup_user_locks().
kmp_int32 __kmp_get_user_lock_owner | ( | kmp_user_lock_p | lck | ) | [inline] |
Definition at line 589 of file kmp_lock.h.
References __kmp_get_user_lock_owner_, and KMP_DEBUG_ASSERT.
Referenced by __kmp_check_sync().
void __kmp_init_bootstrap_lock | ( | kmp_bootstrap_lock_t * | lck | ) | [inline] |
Definition at line 486 of file kmp_lock.h.
References __kmp_init_ticket_lock().
Referenced by __kmp_atfork_child(), and __kmp_do_serial_initialize().
void __kmp_init_drdpa_lock | ( | kmp_drdpa_lock_t * | lck | ) |
Definition at line 2271 of file kmp_lock.cpp.
References __kmp_allocate, kmp_base_drdpa_lock::cleanup_ticket, kmp_base_drdpa_lock::depth_locked, kmp_base_drdpa_lock::initialized, KA_TRACE, kmp_drdpa_lock::lk, kmp_base_drdpa_lock::location, kmp_base_drdpa_lock::mask, kmp_base_drdpa_lock::next_ticket, kmp_base_drdpa_lock::now_serving, kmp_base_drdpa_lock::num_polls, kmp_base_drdpa_lock::old_polls, kmp_base_drdpa_lock::owner_id, and kmp_base_drdpa_lock::polls.
Referenced by __kmp_init_drdpa_lock_with_checks(), and __kmp_init_nested_drdpa_lock().
void __kmp_init_lock | ( | kmp_lock_t * | lck | ) | [inline] |
Definition at line 531 of file kmp_lock.h.
References __kmp_init_ticket_lock().
Referenced by __kmp_alloc_taskq(), __kmp_do_serial_initialize(), __kmp_initialize_root(), __kmp_initialize_team(), and __kmpc_taskq().
void __kmp_init_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck | ) |
Definition at line 2447 of file kmp_lock.cpp.
References __kmp_init_drdpa_lock(), kmp_base_drdpa_lock::depth_locked, and kmp_drdpa_lock::lk.
Referenced by __kmp_init_nested_drdpa_lock_with_checks().
void __kmp_init_nested_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1890 of file kmp_lock.cpp.
References __kmp_init_queuing_lock(), kmp_base_queuing_lock::depth_locked, and kmp_queuing_lock::lk.
Referenced by __kmp_init_nested_queuing_lock_with_checks().
void __kmp_init_nested_tas_lock | ( | kmp_tas_lock_t * | lck | ) |
Definition at line 389 of file kmp_lock.cpp.
References __kmp_init_tas_lock(), kmp_base_tas_lock::depth_locked, and kmp_tas_lock::lk.
Referenced by __kmp_init_nested_tas_lock_with_checks().
void __kmp_init_nested_ticket_lock | ( | kmp_ticket_lock_t * | lck | ) |
Definition at line 1094 of file kmp_lock.cpp.
References __kmp_init_ticket_lock(), kmp_base_ticket_lock::depth_locked, and kmp_ticket_lock::lk.
Referenced by __kmp_init_nested_ticket_lock_with_checks().
void __kmp_init_nested_user_lock_with_checks | ( | kmp_user_lock_p | lck | ) | [inline] |
Definition at line 818 of file kmp_lock.h.
References __kmp_init_nested_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
void __kmp_init_queuing_lock | ( | kmp_queuing_lock_t * | lck | ) |
Definition at line 1726 of file kmp_lock.cpp.
References kmp_base_queuing_lock::depth_locked, kmp_base_queuing_lock::head_id, kmp_base_queuing_lock::initialized, KA_TRACE, kmp_queuing_lock::lk, kmp_base_queuing_lock::location, kmp_base_queuing_lock::next_ticket, kmp_base_queuing_lock::now_serving, and kmp_base_queuing_lock::owner_id.
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 260 of file kmp_lock.cpp.
References kmp_tas_lock::lk, kmp_base_tas_lock::poll, and TCW_4.
Referenced by __kmp_init_nested_tas_lock(), and __kmp_init_tas_lock_with_checks().
void __kmp_init_ticket_lock | ( | kmp_ticket_lock_t * | lck | ) |
Definition at line 936 of file kmp_lock.cpp.
References kmp_base_ticket_lock::depth_locked, kmp_base_ticket_lock::initialized, kmp_ticket_lock::lk, kmp_base_ticket_lock::location, kmp_base_ticket_lock::next_ticket, kmp_base_ticket_lock::now_serving, kmp_base_ticket_lock::owner_id, and TCW_4.
Referenced by __kmp_init_bootstrap_lock(), __kmp_init_lock(), __kmp_init_nested_ticket_lock(), and __kmp_init_ticket_lock_with_checks().
void __kmp_init_user_lock_with_checks | ( | kmp_user_lock_p | lck | ) | [inline] |
Definition at line 690 of file kmp_lock.h.
References __kmp_init_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
Referenced by __kmp_get_critical_section_ptr().
kmp_user_lock_p __kmp_lookup_user_lock | ( | void ** | user_lock, | |
char const * | func | |||
) |
Definition at line 3072 of file kmp_lock.cpp.
References __kmp_env_consistency_check, KMP_DEBUG_ASSERT, KMP_FATAL, 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().
void __kmp_release_bootstrap_lock | ( | kmp_bootstrap_lock_t * | lck | ) | [inline] |
Definition at line 480 of file kmp_lock.h.
References __kmp_release_ticket_lock(), and KMP_GTID_DNE.
Referenced by __kmp_abort_process(), __kmp_allocate_thread(), __kmp_aux_set_stacksize(), __kmp_dump_debug_buffer(), __kmp_expand_threads(), __kmp_fork_call(), __kmp_get_global_thread_id_reg(), __kmp_i18n_catopen(), __kmp_internal_end(), __kmp_internal_end_library(), __kmp_internal_end_thread(), __kmp_join_call(), __kmp_middle_initialize(), __kmp_parallel_initialize(), __kmp_print_storage_map_gtid(), __kmp_printf(), __kmp_register_root(), __kmp_serial_initialize(), __kmp_set_num_threads(), __kmp_unregister_root_current_thread(), __kmp_warn(), __kmpc_serialized_parallel(), and __kmpc_threadprivate_cached().
void __kmp_release_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 2229 of file kmp_lock.cpp.
References KA_TRACE, kmp_drdpa_lock::lk, kmp_base_drdpa_lock::mask, kmp_base_drdpa_lock::now_serving, kmp_base_drdpa_lock::kmp_lock_poll::poll, kmp_base_drdpa_lock::polls, TCR_8, TCR_PTR, and TCW_8.
Referenced by __kmp_release_drdpa_lock_with_checks(), and __kmp_release_nested_drdpa_lock().
void __kmp_release_lock | ( | kmp_lock_t * | lck, | |
kmp_int32 | gtid | |||
) | [inline] |
Definition at line 525 of file kmp_lock.h.
References __kmp_release_ticket_lock().
Referenced by __kmp_alloc_taskq(), __kmp_alloc_thunk(), __kmp_dequeue_task(), __kmp_enqueue_task(), __kmp_execute_task_from_queue(), __kmp_find_and_remove_finished_child_taskq(), __kmp_find_task_in_ancestor_queue(), __kmp_find_task_in_descendant_queue(), __kmp_find_task_in_queue(), __kmp_free_taskq(), __kmp_free_thunk(), __kmp_internal_begin(), __kmp_remove_queue_from_tree(), __kmp_user_lock_allocate(), __kmp_user_lock_free(), __kmpc_end_taskq(), __kmpc_end_taskq_task(), __kmpc_taskq(), __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 2410 of file kmp_lock.cpp.
References __kmp_release_drdpa_lock(), kmp_base_drdpa_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, KMP_NESTED_LOCK_HELD, KMP_NESTED_LOCK_RELEASED, kmp_drdpa_lock::lk, and kmp_base_drdpa_lock::owner_id.
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 1853 of file kmp_lock.cpp.
References __kmp_release_queuing_lock(), kmp_base_queuing_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, KMP_NESTED_LOCK_HELD, KMP_NESTED_LOCK_RELEASED, kmp_queuing_lock::lk, and kmp_base_queuing_lock::owner_id.
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 357 of file kmp_lock.cpp.
References __kmp_release_tas_lock(), kmp_base_tas_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, KMP_NESTED_LOCK_HELD, KMP_NESTED_LOCK_RELEASED, and kmp_tas_lock::lk.
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 1057 of file kmp_lock.cpp.
References __kmp_release_ticket_lock(), kmp_base_ticket_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, KMP_NESTED_LOCK_HELD, KMP_NESTED_LOCK_RELEASED, kmp_ticket_lock::lk, and kmp_base_ticket_lock::owner_id.
Referenced by __kmp_release_nested_ticket_lock_with_checks().
int __kmp_release_nested_user_lock_with_checks | ( | kmp_user_lock_p | lck, | |
kmp_int32 | gtid | |||
) | [inline] |
Definition at line 810 of file kmp_lock.h.
References __kmp_release_nested_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
void __kmp_release_queuing_lock | ( | kmp_queuing_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 1566 of file kmp_lock.cpp.
References __kmp_thread_from_gtid, FALSE, kmp_base_queuing_lock::head_id, KA_TRACE, KMP_ASSERT2, KMP_COMPARE_AND_STORE_REL32, KMP_COMPARE_AND_STORE_REL64, KMP_DEBUG_ASSERT, KMP_MB, KMP_NEQ, KMP_PACK_64, KMP_WAIT_YIELD, kmp_queuing_lock::lk, and TRUE.
Referenced by __kmp_release_atomic_lock(), __kmp_release_nested_queuing_lock(), and __kmp_release_queuing_lock_with_checks().
void __kmp_release_tas_lock | ( | kmp_tas_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 226 of file kmp_lock.cpp.
References __kmp_avail_proc, __kmp_nth, __kmp_xproc, KMP_MB, KMP_YIELD, kmp_tas_lock::lk, kmp_base_tas_lock::poll, TCR_4, and TCW_4.
Referenced by __kmp_release_nested_tas_lock(), and __kmp_release_tas_lock_with_checks().
void __kmp_release_ticket_lock | ( | kmp_ticket_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 895 of file kmp_lock.cpp.
References __kmp_avail_proc, __kmp_xproc, KMP_MB, KMP_YIELD, kmp_ticket_lock::lk, kmp_base_ticket_lock::next_ticket, kmp_base_ticket_lock::now_serving, and TCR_4.
Referenced by __kmp_release_bootstrap_lock(), __kmp_release_lock(), __kmp_release_nested_ticket_lock(), and __kmp_release_ticket_lock_with_checks().
void __kmp_release_user_lock_with_checks | ( | kmp_user_lock_p | lck, | |
kmp_int32 | gtid | |||
) | [inline] |
Definition at line 681 of file kmp_lock.h.
References __kmp_release_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
Referenced by __kmp_end_critical_section_reduce_block(), and __kmpc_end_critical().
void __kmp_set_queuing_lock_flags | ( | kmp_queuing_lock_t * | lck, | |
kmp_lock_flags_t | flags | |||
) |
Definition at line 1957 of file kmp_lock.cpp.
References kmp_base_queuing_lock::flags, and kmp_queuing_lock::lk.
Referenced by __kmp_init_atomic_lock(), and __kmp_set_user_lock_vptrs().
void __kmp_set_user_lock_flags | ( | kmp_user_lock_p | lck, | |
kmp_lock_flags_t | flags | |||
) | [inline] |
Definition at line 880 of file kmp_lock.h.
References __kmp_set_user_lock_flags_.
Referenced by __kmp_user_lock_allocate().
void __kmp_set_user_lock_location | ( | kmp_user_lock_p | lck, | |
const ident_t * | loc | |||
) | [inline] |
Definition at line 868 of file kmp_lock.h.
References __kmp_set_user_lock_location_.
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 2552 of file kmp_lock.cpp.
References __kmp_acquire_drdpa_lock_with_checks(), __kmp_acquire_nested_drdpa_lock_with_checks(), __kmp_acquire_nested_queuing_lock_with_checks(), __kmp_acquire_nested_tas_lock_with_checks(), __kmp_acquire_nested_ticket_lock_with_checks(), __kmp_acquire_nested_user_lock_with_checks_, __kmp_acquire_queuing_lock_with_checks(), __kmp_acquire_tas_lock_with_checks(), __kmp_acquire_ticket_lock_with_checks(), __kmp_acquire_user_lock_with_checks_, __kmp_destroy_drdpa_lock(), __kmp_destroy_drdpa_lock_with_checks(), __kmp_destroy_nested_drdpa_lock_with_checks(), __kmp_destroy_nested_queuing_lock_with_checks(), __kmp_destroy_nested_tas_lock_with_checks(), __kmp_destroy_nested_ticket_lock_with_checks(), __kmp_destroy_nested_user_lock_with_checks_, __kmp_destroy_queuing_lock(), __kmp_destroy_queuing_lock_with_checks(), __kmp_destroy_tas_lock(), __kmp_destroy_tas_lock_with_checks(), __kmp_destroy_ticket_lock(), __kmp_destroy_ticket_lock_with_checks(), __kmp_destroy_user_lock_, __kmp_destroy_user_lock_with_checks_, __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_init_drdpa_lock_with_checks(), __kmp_init_nested_drdpa_lock_with_checks(), __kmp_init_nested_queuing_lock_with_checks(), __kmp_init_nested_tas_lock_with_checks(), __kmp_init_nested_ticket_lock_with_checks(), __kmp_init_nested_user_lock_with_checks_, __kmp_init_queuing_lock_with_checks(), __kmp_init_tas_lock_with_checks(), __kmp_init_ticket_lock_with_checks(), __kmp_init_user_lock_with_checks_, __kmp_is_drdpa_lock_initialized(), __kmp_is_queuing_lock_initialized(), __kmp_is_ticket_lock_initialized(), __kmp_is_user_lock_initialized_, __kmp_release_drdpa_lock_with_checks(), __kmp_release_nested_drdpa_lock_with_checks(), __kmp_release_nested_queuing_lock_with_checks(), __kmp_release_nested_tas_lock_with_checks(), __kmp_release_nested_ticket_lock_with_checks(), __kmp_release_nested_user_lock_with_checks_, __kmp_release_queuing_lock_with_checks(), __kmp_release_tas_lock_with_checks(), __kmp_release_ticket_lock_with_checks(), __kmp_release_user_lock_with_checks_, __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_test_drdpa_lock_with_checks(), __kmp_test_nested_drdpa_lock_with_checks(), __kmp_test_nested_queuing_lock_with_checks(), __kmp_test_nested_tas_lock_with_checks(), __kmp_test_nested_ticket_lock_with_checks(), __kmp_test_nested_user_lock_with_checks_, __kmp_test_queuing_lock_with_checks(), __kmp_test_tas_lock_with_checks(), __kmp_test_ticket_lock_with_checks(), __kmp_test_user_lock_with_checks_, KMP_ASSERT, lk_default, lk_drdpa, lk_queuing, lk_tas, and lk_ticket.
Referenced by __kmp_env_initialize().
int __kmp_test_bootstrap_lock | ( | kmp_bootstrap_lock_t * | lck | ) | [inline] |
Definition at line 474 of file kmp_lock.h.
References __kmp_test_ticket_lock(), and KMP_GTID_DNE.
int __kmp_test_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 2173 of file kmp_lock.cpp.
References FALSE, KA_TRACE, KMP_COMPARE_AND_STORE_ACQ64, kmp_drdpa_lock::lk, kmp_base_drdpa_lock::mask, kmp_base_drdpa_lock::next_ticket, kmp_base_drdpa_lock::now_serving, kmp_base_drdpa_lock::kmp_lock_poll::poll, kmp_base_drdpa_lock::polls, TCR_8, TCR_PTR, and TRUE.
Referenced by __kmp_test_drdpa_lock_with_checks(), and __kmp_test_nested_drdpa_lock().
int __kmp_test_lock | ( | kmp_lock_t * | lck, | |
kmp_int32 | gtid | |||
) | [inline] |
Definition at line 519 of file kmp_lock.h.
References __kmp_test_ticket_lock().
Referenced by __kmp_find_and_remove_finished_child_taskq().
int __kmp_test_nested_drdpa_lock | ( | kmp_drdpa_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 2373 of file kmp_lock.cpp.
References __kmp_get_drdpa_lock_owner(), __kmp_test_drdpa_lock(), kmp_base_drdpa_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, kmp_drdpa_lock::lk, and kmp_base_drdpa_lock::owner_id.
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 1815 of file kmp_lock.cpp.
References __kmp_get_queuing_lock_owner(), __kmp_test_queuing_lock(), kmp_base_queuing_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, kmp_queuing_lock::lk, and kmp_base_queuing_lock::owner_id.
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 325 of file kmp_lock.cpp.
References __kmp_get_tas_lock_owner(), __kmp_test_tas_lock(), kmp_base_tas_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, and kmp_tas_lock::lk.
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 1019 of file kmp_lock.cpp.
References __kmp_get_ticket_lock_owner(), __kmp_test_ticket_lock(), kmp_base_ticket_lock::depth_locked, KMP_DEBUG_ASSERT, KMP_MB, kmp_ticket_lock::lk, and kmp_base_ticket_lock::owner_id.
Referenced by __kmp_test_nested_ticket_lock_with_checks().
int __kmp_test_nested_user_lock_with_checks | ( | kmp_user_lock_p | lck, | |
kmp_int32 | gtid | |||
) | [inline] |
Definition at line 800 of file kmp_lock.h.
References __kmp_test_nested_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
int __kmp_test_queuing_lock | ( | kmp_queuing_lock_t * | lck, | |
kmp_int32 | gtid | |||
) |
Definition at line 1512 of file kmp_lock.cpp.
References __kmp_thread_from_gtid, FALSE, kmp_base_queuing_lock::head_id, KA_TRACE, KMP_COMPARE_AND_STORE_ACQ32, KMP_DEBUG_ASSERT, kmp_queuing_lock::lk, 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 204 of file kmp_lock.cpp.
References FALSE, KMP_COMPARE_AND_STORE_ACQ32, kmp_tas_lock::lk, kmp_base_tas_lock::poll, 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 860 of file kmp_lock.cpp.
References FALSE, KMP_COMPARE_AND_STORE_ACQ32, kmp_ticket_lock::lk, kmp_base_ticket_lock::next_ticket, kmp_base_ticket_lock::now_serving, TCR_4, 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 | |||
) |
int __kmp_test_user_lock_with_checks | ( | kmp_user_lock_p | lck, | |
kmp_int32 | gtid | |||
) | [inline] |
Definition at line 671 of file kmp_lock.h.
References __kmp_test_user_lock_with_checks_, and KMP_DEBUG_ASSERT.
kmp_user_lock_p __kmp_user_lock_allocate | ( | void ** | user_lock, | |
kmp_int32 | gtid, | |||
kmp_lock_flags_t | flags = 0 | |||
) |
Definition at line 3001 of file kmp_lock.cpp.
References __kmp_acquire_lock(), __kmp_allocate, __kmp_global_lock, __kmp_lock_block_allocate(), __kmp_lock_table_insert(), __kmp_release_lock(), __kmp_set_user_lock_flags(), kmp_lock_pool::index, KMP_DEBUG_ASSERT, 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 3051 of file kmp_lock.cpp.
References __kmp_acquire_lock(), __kmp_global_lock, __kmp_release_lock(), kmp_lock_pool::index, KMP_DEBUG_ASSERT, kmp_lock_pool::next, OMP_LOCK_T_SIZE, kmp_user_lock::pool, and kmp_lock_table::used.
Referenced by __kmp_get_critical_section_ptr(), __kmpc_destroy_lock(), and __kmpc_destroy_nest_lock().
void __kmp_validate_locks | ( | void | ) |
Definition at line 97 of file kmp_lock.cpp.
References i, and KMP_ASSERT.
Referenced by __kmp_do_serial_initialize().
KMP_BUILD_ASSERT | ( | offsetof(kmp_base_queuing_lock_t, tail_id)% | 8 = =0 |
) |
void( * __kmp_acquire_nested_user_lock_with_checks_)(kmp_user_lock_p lck, kmp_int32 gtid) |
Referenced by __kmp_acquire_nested_user_lock_with_checks(), and __kmp_set_user_lock_vptrs().
void( * __kmp_acquire_user_lock_with_checks_)(kmp_user_lock_p lck, kmp_int32 gtid) |
Referenced by __kmp_acquire_user_lock_with_checks(), and __kmp_set_user_lock_vptrs().
size_t __kmp_base_user_lock_size |
Definition at line 2528 of file kmp_lock.cpp.
Referenced by __kmp_end_critical_section_reduce_block(), and __kmp_enter_critical_section_reduce_block().
void( * __kmp_destroy_nested_user_lock_with_checks_)(kmp_user_lock_p lck) |
Referenced by __kmp_destroy_nested_user_lock_with_checks(), and __kmp_set_user_lock_vptrs().
void( * __kmp_destroy_user_lock_)(kmp_user_lock_p lck) |
Referenced by __kmp_destroy_user_lock(), and __kmp_set_user_lock_vptrs().
void( * __kmp_destroy_user_lock_with_checks_)(kmp_user_lock_p lck) |
Referenced by __kmp_destroy_user_lock_with_checks(), and __kmp_set_user_lock_vptrs().
Referenced by __kmp_set_user_lock_vptrs().
const ident_t*( * __kmp_get_user_lock_location_)(kmp_user_lock_p lck) |
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) |
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) |
Referenced by __kmp_init_nested_user_lock_with_checks(), and __kmp_set_user_lock_vptrs().
void( * __kmp_init_user_lock_with_checks_)(kmp_user_lock_p lck) |
Referenced by __kmp_init_user_lock_with_checks(), and __kmp_set_user_lock_vptrs().
int( * __kmp_is_user_lock_initialized_)(kmp_user_lock_p lck) |
Referenced by __kmp_cleanup_user_locks(), and __kmp_set_user_lock_vptrs().
Definition at line 2933 of file kmp_lock.cpp.
Referenced by __kmp_atfork_child().
Definition at line 2930 of file kmp_lock.cpp.
Definition at line 2934 of file kmp_lock.cpp.
Referenced by __kmp_stg_parse_lock_block(), and __kmp_stg_print_lock_block().
int( * __kmp_release_nested_user_lock_with_checks_)(kmp_user_lock_p lck, kmp_int32 gtid) |
Referenced by __kmp_release_nested_user_lock_with_checks(), and __kmp_set_user_lock_vptrs().
void( * __kmp_release_user_lock_with_checks_)(kmp_user_lock_p lck, kmp_int32 gtid) |
Referenced by __kmp_release_user_lock_with_checks(), and __kmp_set_user_lock_vptrs().
void( * __kmp_set_user_lock_flags_)(kmp_user_lock_p lck, kmp_lock_flags_t flags) |
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) |
Referenced by __kmp_set_user_lock_location(), and __kmp_set_user_lock_vptrs().
int( * __kmp_test_nested_user_lock_with_checks_)(kmp_user_lock_p lck, kmp_int32 gtid) |
Referenced by __kmp_set_user_lock_vptrs(), and __kmp_test_nested_user_lock_with_checks().
int( * __kmp_test_user_lock_with_checks_)(kmp_user_lock_p lck, kmp_int32 gtid) |
Referenced by __kmp_set_user_lock_vptrs(), and __kmp_test_user_lock_with_checks().
Definition at line 2526 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 |
Definition at line 2529 of file kmp_lock.cpp.
Definition at line 2929 of file kmp_lock.cpp.
Referenced by __kmp_atfork_child().