From 01fe2ea09ed26de03b6666312c52b6116035f02b Mon Sep 17 00:00:00 2001 From: Ajay GunaShekar Date: Sun, 15 Jan 2023 10:01:14 -0500 Subject: [PATCH] SWDEV-372757 - Don't destroy null queue in MT This reverts commit 3afbe3a155f58a3957ad3992f2d66b0a1a06e3c8. Reason for revert: patch does not fix all stream hangs. So another patch was merged which fixes all issues. Change-Id: I332d1ea29c23747b46b7667fe3e34e0ceefd2b23 [ROCm/clr commit: 1f4176062bc6246a283668be9c34d2c48901b88c] --- projects/clr/hipamd/src/hip_internal.hpp | 2 +- projects/clr/hipamd/src/hip_stream.cpp | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/projects/clr/hipamd/src/hip_internal.hpp b/projects/clr/hipamd/src/hip_internal.hpp index 99bdf00d49..31ec410d5c 100644 --- a/projects/clr/hipamd/src/hip_internal.hpp +++ b/projects/clr/hipamd/src/hip_internal.hpp @@ -409,7 +409,7 @@ namespace hip { Device(amd::Context* ctx, int devId): context_(ctx), deviceId_(devId), null_stream_(this, Stream::Priority::Normal, 0, true), - flags_(hipDeviceScheduleSpin), + flags_(hipDeviceScheduleSpin), isActive_(false), default_mem_pool_(nullptr), current_mem_pool_(nullptr) diff --git a/projects/clr/hipamd/src/hip_stream.cpp b/projects/clr/hipamd/src/hip_stream.cpp index 35d673b953..a0444334db 100644 --- a/projects/clr/hipamd/src/hip_stream.cpp +++ b/projects/clr/hipamd/src/hip_stream.cpp @@ -48,12 +48,8 @@ Stream::~Stream() { amd::ScopedLock lock(streamSetLock); streamSet.erase(this); - // Skip queue destruction for null stream in MT. Queue worker thread can be destroyed on - // the app exit, during the stream destruction, causing a race condition. - if (!null_ || AMD_DIRECT_DISPATCH) { - queue_->release(); - queue_ = nullptr; - } + queue_->release(); + queue_ = nullptr; } }