[Openmp-commits] [PATCH] D153032: [OpenMP][OMPT] Change OMPT kind for OpenMP test lock functions
Jan André Reuter via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Thu Jun 15 07:50:46 PDT 2023
Thyre created this revision.
Thyre added reviewers: protze.joachim, tianshilei1992.
Thyre added a project: OpenMP.
Herald added subscribers: sunshaoce, guansong, yaxunl.
Herald added a project: All.
Thyre requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: openmp-commits, jplehr, sstefan1.
The OpenMP specification mentions that `omp_test_lock` and
`omp_test_nest_lock` dispatch OMPT callbacks with `ompt_mutex_test_lock`
and `ompt_mutex_test_nest_lock` for their kind respectively. Previously,
the values `ompt_mutex_lock` and `ompt_mutex_nest_lock` were used. This
could cause issues in application relying on the kind to correctly
determine lock states. This commit changes the kind to the expected
ones.
Fixes issue #63261
Depends on D153031 <https://reviews.llvm.org/D153031>
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D153032
Files:
openmp/runtime/src/kmp_csupport.cpp
Index: openmp/runtime/src/kmp_csupport.cpp
===================================================================
--- openmp/runtime/src/kmp_csupport.cpp
+++ openmp/runtime/src/kmp_csupport.cpp
@@ -3150,7 +3150,7 @@
codeptr = OMPT_GET_RETURN_ADDRESS(0);
if (ompt_enabled.ompt_callback_mutex_acquire) {
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
- ompt_mutex_lock, omp_lock_hint_none,
+ ompt_mutex_test_lock, omp_lock_hint_none,
__ompt_get_mutex_impl_type(user_lock),
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
}
@@ -3174,7 +3174,7 @@
#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)(uintptr_t)user_lock, codeptr);
+ ompt_mutex_test_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
}
#endif
return FTN_TRUE;
@@ -3214,7 +3214,7 @@
codeptr = OMPT_GET_RETURN_ADDRESS(0);
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_mutex_test_lock, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
(ompt_wait_id_t)(uintptr_t)lck, codeptr);
}
#endif
@@ -3230,7 +3230,7 @@
#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)(uintptr_t)lck, codeptr);
+ ompt_mutex_test_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
}
#endif
@@ -3255,7 +3255,7 @@
codeptr = OMPT_GET_RETURN_ADDRESS(0);
if (ompt_enabled.ompt_callback_mutex_acquire) {
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
- ompt_mutex_nest_lock, omp_lock_hint_none,
+ ompt_mutex_test_nest_lock, omp_lock_hint_none,
__ompt_get_mutex_impl_type(user_lock),
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
}
@@ -3274,7 +3274,7 @@
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)(uintptr_t)user_lock,
+ ompt_mutex_test_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock,
codeptr);
}
} else {
@@ -3321,7 +3321,7 @@
if (ompt_enabled.enabled) &&
ompt_enabled.ompt_callback_mutex_acquire) {
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
- ompt_mutex_nest_lock, omp_lock_hint_none,
+ ompt_mutex_test_nest_lock, omp_lock_hint_none,
__ompt_get_mutex_impl_type(), (ompt_wait_id_t)(uintptr_t)lck,
codeptr);
}
@@ -3341,7 +3341,7 @@
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)(uintptr_t)lck, codeptr);
+ ompt_mutex_test_nest_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
}
} else {
if (ompt_enabled.ompt_callback_nest_lock) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153032.531757.patch
Type: text/x-patch
Size: 3239 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20230615/a9df1f50/attachment.bin>
More information about the Openmp-commits
mailing list