diff options
author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2023-07-06 13:50:34 -0500 |
---|---|---|
committer | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2023-07-24 15:58:25 -0500 |
commit | 1e3bbf76a1b7be003f41d4a58f672d311b8577d7 (patch) | |
tree | 240b3fb458ded5e2ec52a80537664181525858fb /openmp/runtime/src/kmp_affinity.cpp | |
parent | b9f3eafc5daa492791ca03c659042324e29857fc (diff) | |
download | llvm-1e3bbf76a1b7be003f41d4a58f672d311b8577d7.zip llvm-1e3bbf76a1b7be003f41d4a58f672d311b8577d7.tar.gz llvm-1e3bbf76a1b7be003f41d4a58f672d311b8577d7.tar.bz2 |
[OpenMP] Re-use affinity raii class in worker spawning
Get rid of explicit mask alloc, getthreadaffinity, set temp affinity,
reset to old affinity, dealloc steps in favor of existing
kmp_affinity_raii_t to push/pop a temporary affinity.
Differential Revision: https://reviews.llvm.org/D154650
Diffstat (limited to 'openmp/runtime/src/kmp_affinity.cpp')
-rw-r--r-- | openmp/runtime/src/kmp_affinity.cpp | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/openmp/runtime/src/kmp_affinity.cpp b/openmp/runtime/src/kmp_affinity.cpp index eead5bd..cbb80bf 100644 --- a/openmp/runtime/src/kmp_affinity.cpp +++ b/openmp/runtime/src/kmp_affinity.cpp @@ -1273,28 +1273,6 @@ bool kmp_topology_t::is_close(int hwt1, int hwt2, int hw_level) const { //////////////////////////////////////////////////////////////////////////////// #if KMP_AFFINITY_SUPPORTED -class kmp_affinity_raii_t { - kmp_affin_mask_t *mask; - bool restored; - -public: - kmp_affinity_raii_t() : restored(false) { - KMP_CPU_ALLOC(mask); - KMP_ASSERT(mask != NULL); - __kmp_get_system_affinity(mask, TRUE); - } - void restore() { - __kmp_set_system_affinity(mask, TRUE); - KMP_CPU_FREE(mask); - restored = true; - } - ~kmp_affinity_raii_t() { - if (!restored) { - __kmp_set_system_affinity(mask, TRUE); - KMP_CPU_FREE(mask); - } - } -}; bool KMPAffinity::picked_api = false; |