From e1b8ba375093348d6de5bb751ce27e5eedb917d0 Mon Sep 17 00:00:00 2001 From: Christophe Paquot Date: Thu, 16 Mar 2023 08:29:19 -0700 Subject: [PATCH] SWDEV-301667 - Optimize lock for graph global capture mode Remove unneeded lock and add smaller scope Change-Id: I03a437057d54ce2d72c07a080bb872693b7f3f6c [ROCm/clr commit: 6e86d29a582e28d40d6d8acd55b9f4c32e974e87] --- projects/clr/hipamd/src/hip_internal.hpp | 1 - projects/clr/hipamd/src/hip_stream.cpp | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/projects/clr/hipamd/src/hip_internal.hpp b/projects/clr/hipamd/src/hip_internal.hpp index 2983a934c7..ead3fc8e96 100644 --- a/projects/clr/hipamd/src/hip_internal.hpp +++ b/projects/clr/hipamd/src/hip_internal.hpp @@ -166,7 +166,6 @@ static amd::Monitor g_hipInitlock{"hipInit lock"}; if (hip::tls.capture_streams_.size() != 0) { \ HIP_RETURN(hipErrorStreamCaptureUnsupported); \ } \ - amd::ScopedLock lock(g_captureStreamsLock); \ if (g_captureStreams.size() != 0) { \ HIP_RETURN(hipErrorStreamCaptureUnsupported); \ } \ diff --git a/projects/clr/hipamd/src/hip_stream.cpp b/projects/clr/hipamd/src/hip_stream.cpp index 8a240a857f..a396e81249 100644 --- a/projects/clr/hipamd/src/hip_stream.cpp +++ b/projects/clr/hipamd/src/hip_stream.cpp @@ -470,10 +470,12 @@ hipError_t hipStreamDestroy(hipStream_t stream) { } s->GetDevice()->RemoveStreamFromPools(s); - amd::ScopedLock lock(g_captureStreamsLock); - const auto& g_it = std::find(g_captureStreams.begin(), g_captureStreams.end(), s); - if (g_it != g_captureStreams.end()) { - g_captureStreams.erase(g_it); + { + amd::ScopedLock lock(g_captureStreamsLock); + const auto& g_it = std::find(g_captureStreams.begin(), g_captureStreams.end(), s); + if (g_it != g_captureStreams.end()) { + g_captureStreams.erase(g_it); + } } const auto& l_it = std::find(hip::tls.capture_streams_.begin(), hip::tls.capture_streams_.end(), s);