This is an archive of the discontinued LLVM Phabricator instance.

Hinted lock (OpenMP 4.5 feature) Updates/Fixes Part 2
ClosedPublic

Authored by jlpeyton on Dec 3 2015, 1:16 PM.

Details

Summary
    • Added a new user TSX lock implementation, RTM, This implementation is a light-weight version of the adaptive lock implementation, omitting the back-off logic for deciding when to specualte (or not). The fall-back lock is still the queuing lock.
  • Changed indirect lock table management. The data for indirect lock management was encapsulated in the "kmp_indirect_lock_table_t" type. Also, the lock table dimension was changed to 2D (was linear), and each entry is a kmp_indirect_lock_t object now (was a pointer to an object).
  • Some clean up in the critical section code
  • Removed the limits of the tuning parameters read from KMP_ADAPTIVE_LOCK_PROPS (request from Jim)
  • KMP_USE_DYNAMIC_LOCK=1 also turns on these two switches: KMP_USE_TSX, KMP_USE_ADAPTIVE_LOCKS

Diff Detail

Repository
rL LLVM

Event Timeline

jlpeyton updated this revision to Diff 41793.Dec 3 2015, 1:16 PM
jlpeyton retitled this revision from to Hinted lock (OpenMP 4.5 feature) Updates/Fixes Part 2.
jlpeyton updated this object.
jlpeyton set the repository for this revision to rL LLVM.
jlpeyton added a subscriber: openmp-commits.

Adding Hansang as a reviewer.

hbae accepted this revision.Dec 11 2015, 12:41 PM
hbae edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Dec 11 2015, 12:41 PM
This revision was automatically updated to reflect the committed changes.