From 227980f32b4ab4410091466638cbbbc7c3b134cb Mon Sep 17 00:00:00 2001 From: "Jonathan R. Madsen" Date: Wed, 27 Sep 2023 18:06:16 -0500 Subject: [PATCH] Fix roctracer data race (#309) - roctracer_type_mutex was per-thread, causing lack of sync b/t callback and activity --- source/lib/omnitrace/library/roctracer.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/lib/omnitrace/library/roctracer.cpp b/source/lib/omnitrace/library/roctracer.cpp index eea476aab5..d7c41e2cca 100644 --- a/source/lib/omnitrace/library/roctracer.cpp +++ b/source/lib/omnitrace/library/roctracer.cpp @@ -69,12 +69,12 @@ namespace omnitrace { namespace { -template +template auto& -roctracer_type_mutex(uint64_t _n = threading::get_id()) +roctracer_type_mutex() { - return tim::type_mutex( - _n % max_supported_threads); + return tim::type_mutex(); } std::string @@ -173,7 +173,9 @@ using key_data_mutex_t = std::decay_t; auto& get_hip_activity_mutex(int64_t _tid = threading::get_id()) { - return roctracer_type_mutex(_tid); + return tim::type_mutex( + _tid % max_supported_threads); } } // namespace