[Openmp-commits] [PATCH] D33794: Fix static initializers for locks.
Terry Wilmarth via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Thu Jun 1 11:52:10 PDT 2017
tlwilmar created this revision.
Fix static initializers to use the proper unlocked value for the poll field of the tas and futex locks.
Repository:
rL LLVM
https://reviews.llvm.org/D33794
Files:
runtime/src/kmp_lock.h
Index: runtime/src/kmp_lock.h
===================================================================
--- runtime/src/kmp_lock.h
+++ runtime/src/kmp_lock.h
@@ -122,7 +122,8 @@
// ----------------------------------------------------------------------------
struct kmp_base_tas_lock {
- volatile kmp_int32 poll; // 0 => unlocked; locked: (gtid+1) of owning thread
+ // KMP_LOCK_FREE(tas) => unlocked; locked: (gtid+1) of owning thread
+ volatile kmp_int32 poll;
kmp_int32 depth_locked; // depth locked, for nested locks only
};
@@ -140,7 +141,7 @@
// kmp_tas_lock_t xlock = KMP_TAS_LOCK_INITIALIZER( xlock );
#define KMP_TAS_LOCK_INITIALIZER(lock) \
{ \
- { 0, 0 } \
+ { KMP_LOCK_FREE(tas), 0 } \
}
extern int __kmp_acquire_tas_lock(kmp_tas_lock_t *lck, kmp_int32 gtid);
@@ -178,7 +179,7 @@
// ----------------------------------------------------------------------------
struct kmp_base_futex_lock {
- volatile kmp_int32 poll; // 0 => unlocked
+ volatile kmp_int32 poll; // KMP_LOCK_FREE(futex) => unlocked
// 2*(gtid+1) of owning thread, 0 if unlocked
// locked: (gtid+1) of owning thread
kmp_int32 depth_locked; // depth locked, for nested locks only
@@ -199,7 +200,7 @@
// kmp_futex_lock_t xlock = KMP_FUTEX_LOCK_INITIALIZER( xlock );
#define KMP_FUTEX_LOCK_INITIALIZER(lock) \
{ \
- { 0, 0 } \
+ { KMP_LOCK_FREE(futex), 0 } \
}
extern int __kmp_acquire_futex_lock(kmp_futex_lock_t *lck, kmp_int32 gtid);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33794.101062.patch
Type: text/x-patch
Size: 1926 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20170601/9329d959/attachment-0001.bin>
More information about the Openmp-commits
mailing list