From eef206d1b7422f145b5a85601b620c7f4f97a80d Mon Sep 17 00:00:00 2001 From: "Xie.AlexBin" Date: Thu, 9 Mar 2023 18:34:32 -0500 Subject: [PATCH] SWDEV-339709 - Device Atomic test failed Code change for Windows. Change-Id: I5ad520b67d1d9ec029cd2c2df7009915caaa8583 [ROCm/clr commit: c2b64f8bf5eccdd39b942651c8b21c89ba25b934] --- projects/clr/rocclr/device/pal/palmemory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/clr/rocclr/device/pal/palmemory.cpp b/projects/clr/rocclr/device/pal/palmemory.cpp index d7c086b488..f15fcfa6c8 100644 --- a/projects/clr/rocclr/device/pal/palmemory.cpp +++ b/projects/clr/rocclr/device/pal/palmemory.cpp @@ -456,6 +456,7 @@ Memory::~Memory() { } void Memory::syncCacheFromHost(VirtualGPU& gpu, device::Memory::SyncFlags syncFlags) { + amd::ScopedLock lock(owner()->lockMemoryOps()); // If the last writer was another GPU, then make a writeback if (isChacheCoherencySync() && (owner()->getLastWriter() != nullptr) && (&dev() != owner()->getLastWriter())) { @@ -508,7 +509,6 @@ void Memory::syncCacheFromHost(VirtualGPU& gpu, device::Memory::SyncFlags syncFl syncFlagsTmp.skipEntire_ = syncFlags.skipEntire_; } - amd::ScopedLock lock(owner()->lockMemoryOps()); for (auto& sub : owner()->subBuffers()) { //! \note Don't allow subbuffer's allocation in the worker thread. //! It may cause a system lock, because possible resource