|
|
|
@@ -891,7 +891,7 @@ void __kmpc_ordered(ident_t *loc, kmp_int32 gtid) {
|
|
|
|
|
if (ompt_enabled.enabled) {
|
|
|
|
|
OMPT_STORE_RETURN_ADDRESS(gtid);
|
|
|
|
|
team = __kmp_team_from_gtid(gtid);
|
|
|
|
|
lck = (ompt_wait_id_t)&team->t.t_ordered.dt.t_value;
|
|
|
|
|
lck = (ompt_wait_id_t)(uintptr_t)&team->t.t_ordered.dt.t_value;
|
|
|
|
|
/* OMPT state update */
|
|
|
|
|
th->th.ompt_thread_info.wait_id = lck;
|
|
|
|
|
th->th.ompt_thread_info.state = ompt_state_wait_ordered;
|
|
|
|
@@ -900,8 +900,8 @@ void __kmpc_ordered(ident_t *loc, kmp_int32 gtid) {
|
|
|
|
|
codeptr_ra = OMPT_LOAD_RETURN_ADDRESS(gtid);
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_ordered, omp_lock_hint_none, kmp_mutex_impl_spin,
|
|
|
|
|
(ompt_wait_id_t)lck, codeptr_ra);
|
|
|
|
|
ompt_mutex_ordered, omp_lock_hint_none, kmp_mutex_impl_spin, lck,
|
|
|
|
|
codeptr_ra);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -920,7 +920,7 @@ void __kmpc_ordered(ident_t *loc, kmp_int32 gtid) {
|
|
|
|
|
/* OMPT event callback */
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_ordered, (ompt_wait_id_t)lck, codeptr_ra);
|
|
|
|
|
ompt_mutex_ordered, (ompt_wait_id_t)(uintptr_t)lck, codeptr_ra);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -960,7 +960,8 @@ void __kmpc_end_ordered(ident_t *loc, kmp_int32 gtid) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_released) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
|
|
|
|
ompt_mutex_ordered,
|
|
|
|
|
(ompt_wait_id_t)&__kmp_team_from_gtid(gtid)->t.t_ordered.dt.t_value,
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)&__kmp_team_from_gtid(gtid)
|
|
|
|
|
->t.t_ordered.dt.t_value,
|
|
|
|
|
OMPT_LOAD_RETURN_ADDRESS(gtid));
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -1224,7 +1225,7 @@ void __kmpc_critical(ident_t *loc, kmp_int32 global_tid,
|
|
|
|
|
ti = __kmp_threads[global_tid]->th.ompt_thread_info;
|
|
|
|
|
/* OMPT state update */
|
|
|
|
|
prev_state = ti.state;
|
|
|
|
|
ti.wait_id = (ompt_wait_id_t)lck;
|
|
|
|
|
ti.wait_id = (ompt_wait_id_t)(uintptr_t)lck;
|
|
|
|
|
ti.state = ompt_state_wait_critical;
|
|
|
|
|
|
|
|
|
|
/* OMPT event callback */
|
|
|
|
@@ -1232,7 +1233,7 @@ void __kmpc_critical(ident_t *loc, kmp_int32 global_tid,
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_critical, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
|
|
|
|
(ompt_wait_id_t)crit, codeptr_ra);
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)lck, codeptr_ra);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -1252,7 +1253,7 @@ void __kmpc_critical(ident_t *loc, kmp_int32 global_tid,
|
|
|
|
|
/* OMPT event callback */
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_critical, (ompt_wait_id_t)crit, codeptr_ra);
|
|
|
|
|
ompt_mutex_critical, (ompt_wait_id_t)(uintptr_t)lck, codeptr_ra);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -1438,14 +1439,15 @@ void __kmpc_critical_with_hint(ident_t *loc, kmp_int32 global_tid,
|
|
|
|
|
ti = __kmp_threads[global_tid]->th.ompt_thread_info;
|
|
|
|
|
/* OMPT state update */
|
|
|
|
|
prev_state = ti.state;
|
|
|
|
|
ti.wait_id = (ompt_wait_id_t)lck;
|
|
|
|
|
ti.wait_id = (ompt_wait_id_t)(uintptr_t)lck;
|
|
|
|
|
ti.state = ompt_state_wait_critical;
|
|
|
|
|
|
|
|
|
|
/* OMPT event callback */
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_critical, (unsigned int)hint,
|
|
|
|
|
__ompt_get_mutex_impl_type(crit), (ompt_wait_id_t)crit, codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(crit), (ompt_wait_id_t)(uintptr_t)lck,
|
|
|
|
|
codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -1476,14 +1478,15 @@ void __kmpc_critical_with_hint(ident_t *loc, kmp_int32 global_tid,
|
|
|
|
|
ti = __kmp_threads[global_tid]->th.ompt_thread_info;
|
|
|
|
|
/* OMPT state update */
|
|
|
|
|
prev_state = ti.state;
|
|
|
|
|
ti.wait_id = (ompt_wait_id_t)lck;
|
|
|
|
|
ti.wait_id = (ompt_wait_id_t)(uintptr_t)lck;
|
|
|
|
|
ti.state = ompt_state_wait_critical;
|
|
|
|
|
|
|
|
|
|
/* OMPT event callback */
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_critical, (unsigned int)hint,
|
|
|
|
|
__ompt_get_mutex_impl_type(0, ilk), (ompt_wait_id_t)crit, codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(0, ilk), (ompt_wait_id_t)(uintptr_t)lck,
|
|
|
|
|
codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -1503,7 +1506,7 @@ void __kmpc_critical_with_hint(ident_t *loc, kmp_int32 global_tid,
|
|
|
|
|
/* OMPT event callback */
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_critical, (ompt_wait_id_t)crit, codeptr);
|
|
|
|
|
ompt_mutex_critical, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -1601,7 +1604,8 @@ void __kmpc_end_critical(ident_t *loc, kmp_int32 global_tid,
|
|
|
|
|
OMPT_STORE_RETURN_ADDRESS(global_tid);
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_released) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
|
|
|
|
ompt_mutex_critical, (ompt_wait_id_t)crit, OMPT_LOAD_RETURN_ADDRESS(0));
|
|
|
|
|
ompt_mutex_critical, (ompt_wait_id_t)(uintptr_t)lck,
|
|
|
|
|
OMPT_LOAD_RETURN_ADDRESS(0));
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2233,8 +2237,8 @@ void __kmpc_init_lock_with_hint(ident_t *loc, kmp_int32 gtid, void **user_lock,
|
|
|
|
|
if (ompt_enabled.ompt_callback_lock_init) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
|
|
|
|
ompt_mutex_lock, (omp_lock_hint_t)hint,
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock),
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
@@ -2257,8 +2261,8 @@ void __kmpc_init_nest_lock_with_hint(ident_t *loc, kmp_int32 gtid,
|
|
|
|
|
if (ompt_enabled.ompt_callback_lock_init) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
|
|
|
|
ompt_mutex_nest_lock, (omp_lock_hint_t)hint,
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock),
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
@@ -2283,8 +2287,8 @@ void __kmpc_init_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_lock_init) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
|
|
|
|
ompt_mutex_lock, omp_lock_hint_none,
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock),
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2326,7 +2330,7 @@ void __kmpc_init_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_lock_init) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
|
|
|
|
ompt_mutex_lock, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
|
|
|
|
(ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2355,8 +2359,8 @@ void __kmpc_init_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_lock_init) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
|
|
|
|
ompt_mutex_nest_lock, omp_lock_hint_none,
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock),
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2401,7 +2405,7 @@ void __kmpc_init_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_lock_init) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
|
|
|
|
ompt_mutex_nest_lock, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
|
|
|
|
(ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2437,7 +2441,7 @@ void __kmpc_destroy_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
lck = (kmp_user_lock_p)user_lock;
|
|
|
|
|
}
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_destroy)(
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
KMP_D_LOCK_FUNC(user_lock, destroy)((kmp_dyna_lock_t *)user_lock);
|
|
|
|
@@ -2465,7 +2469,7 @@ void __kmpc_destroy_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
|
|
|
|
if (ompt_enabled.ompt_callback_lock_destroy) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_destroy)(
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2505,7 +2509,7 @@ void __kmpc_destroy_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
|
|
|
|
if (ompt_enabled.ompt_callback_lock_destroy) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_destroy)(
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
KMP_D_LOCK_FUNC(user_lock, destroy)((kmp_dyna_lock_t *)user_lock);
|
|
|
|
@@ -2537,7 +2541,7 @@ void __kmpc_destroy_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
|
|
|
|
if (ompt_enabled.ompt_callback_lock_destroy) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_lock_destroy)(
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2582,8 +2586,8 @@ void __kmpc_set_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_lock, omp_lock_hint_none,
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock),
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if KMP_USE_INLINED_TAS
|
|
|
|
@@ -2604,7 +2608,7 @@ void __kmpc_set_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2637,7 +2641,7 @@ void __kmpc_set_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_lock, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
|
|
|
|
(ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2650,7 +2654,7 @@ void __kmpc_set_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2672,8 +2676,8 @@ void __kmpc_set_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_nest_lock, omp_lock_hint_none,
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock),
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -2690,13 +2694,14 @@ void __kmpc_set_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
// lock_first
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (ompt_enabled.ompt_callback_nest_lock) {
|
|
|
|
|
// lock_next
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
|
|
|
|
ompt_scope_begin, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_scope_begin, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -2734,7 +2739,8 @@ void __kmpc_set_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_nest_lock, omp_lock_hint_none,
|
|
|
|
|
__ompt_get_mutex_impl_type(), (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(), (ompt_wait_id_t)(uintptr_t)lck,
|
|
|
|
|
codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -2751,13 +2757,13 @@ void __kmpc_set_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
// lock_first
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (ompt_enabled.ompt_callback_nest_lock) {
|
|
|
|
|
// lock_next
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
|
|
|
|
ompt_scope_begin, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_scope_begin, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -2793,7 +2799,7 @@ void __kmpc_unset_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_released) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2822,7 +2828,7 @@ void __kmpc_unset_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_released) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2854,7 +2860,7 @@ void __kmpc_unset_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_released) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -2882,12 +2888,13 @@ void __kmpc_unset_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_released) {
|
|
|
|
|
// release_lock_last
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
}
|
|
|
|
|
} else if (ompt_enabled.ompt_callback_nest_lock) {
|
|
|
|
|
// release_lock_prev
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
|
|
|
|
ompt_scope_end, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_scope_end, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -2931,12 +2938,12 @@ void __kmpc_unset_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_released) {
|
|
|
|
|
// release_lock_last
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
} else if (ompt_enabled.ompt_callback_nest_lock) {
|
|
|
|
|
// release_lock_previous
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
|
|
|
|
ompt_mutex_scope_end, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_scope_end, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -2973,12 +2980,12 @@ void __kmpc_unset_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_released) {
|
|
|
|
|
// release_lock_last
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
} else if (ompt_enabled.ompt_callback_nest_lock) {
|
|
|
|
|
// release_lock_previous
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
|
|
|
|
ompt_mutex_scope_end, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_scope_end, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@@ -3004,8 +3011,8 @@ int __kmpc_test_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_lock, omp_lock_hint_none,
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock),
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if KMP_USE_INLINED_TAS
|
|
|
|
@@ -3027,7 +3034,7 @@ int __kmpc_test_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
return FTN_TRUE;
|
|
|
|
@@ -3068,7 +3075,7 @@ int __kmpc_test_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_lock, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
|
|
|
|
(ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -3083,7 +3090,7 @@ int __kmpc_test_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
|
|
|
|
if (rc && ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -3109,8 +3116,8 @@ int __kmpc_test_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_nest_lock, omp_lock_hint_none,
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(user_lock),
|
|
|
|
|
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
rc = KMP_D_LOCK_FUNC(user_lock, test)((kmp_dyna_lock_t *)user_lock, gtid);
|
|
|
|
@@ -3127,13 +3134,14 @@ int __kmpc_test_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
// lock_first
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock,
|
|
|
|
|
codeptr);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (ompt_enabled.ompt_callback_nest_lock) {
|
|
|
|
|
// lock_next
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
|
|
|
|
ompt_scope_begin, (ompt_wait_id_t)user_lock, codeptr);
|
|
|
|
|
ompt_scope_begin, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -3174,7 +3182,8 @@ int __kmpc_test_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
ompt_enabled.ompt_callback_mutex_acquire) {
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
|
|
|
|
ompt_mutex_nest_lock, omp_lock_hint_none,
|
|
|
|
|
__ompt_get_mutex_impl_type(), (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
__ompt_get_mutex_impl_type(), (ompt_wait_id_t)(uintptr_t)lck,
|
|
|
|
|
codeptr);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@@ -3192,13 +3201,13 @@ int __kmpc_test_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
|
|
|
|
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
|
|
|
|
// lock_first
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (ompt_enabled.ompt_callback_nest_lock) {
|
|
|
|
|
// lock_next
|
|
|
|
|
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
|
|
|
|
ompt_mutex_scope_begin, (ompt_wait_id_t)lck, codeptr);
|
|
|
|
|
ompt_mutex_scope_begin, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|