From c36d89754afdffb8cba659fa79d761aac465d92d Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 1 Feb 2017 11:21:13 -0500
Subject: [PATCH] P4 to Git Change 1367952 by gandryey@gera-w8 on 2017/02/01
11:11:26
SWDEV-112171 - [ROCm CQE][OCLonLC][QR][G] System hangs/Failures observed with few WF conf tests, due to CL#1364923
- Back out changelist 1367810. A hang was delayed, but still occured much later in the test.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.cpp#11 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#40 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.hpp#16 edit
---
rocclr/runtime/device/rocm/rocblit.cpp | 5 -----
rocclr/runtime/device/rocm/rocdevice.cpp | 7 -------
rocclr/runtime/device/rocm/rocdevice.hpp | 6 ------
3 files changed, 18 deletions(-)
diff --git a/rocclr/runtime/device/rocm/rocblit.cpp b/rocclr/runtime/device/rocm/rocblit.cpp
index 3e4e753295..c4a9210ebb 100644
--- a/rocclr/runtime/device/rocm/rocblit.cpp
+++ b/rocclr/runtime/device/rocm/rocblit.cpp
@@ -616,9 +616,6 @@ bool DmaBlitManager::hsaCopy(
bool enableCopyRect,
bool flushDMA) const
{
- // todo integerops long_math test exposes
- // a HW hang without lock protection. note: Runtime kernel copy works fine
- amd::ScopedLock k(dev().hsaCopyOps());
address src = reinterpret_cast(srcMemory.getDeviceMemory());
address dst = reinterpret_cast(dstMemory.getDeviceMemory());
@@ -666,8 +663,6 @@ bool DmaBlitManager::hsaCopy(
bool DmaBlitManager::hsaCopyStaged(
const_address hostSrc, address hostDst, size_t size, address staging, bool hostToDev) const
{
- amd::ScopedLock k(dev().hsaCopyOps());
-
// No allocation is necessary for Full Profile
hsa_status_t status;
if (dev().agent_profile() == HSA_PROFILE_FULL) {
diff --git a/rocclr/runtime/device/rocm/rocdevice.cpp b/rocclr/runtime/device/rocm/rocdevice.cpp
index 359e865b61..84dd70f527 100644
--- a/rocclr/runtime/device/rocm/rocdevice.cpp
+++ b/rocclr/runtime/device/rocm/rocdevice.cpp
@@ -189,7 +189,6 @@ Device::Device(hsa_agent_t bkendDevice)
, xferQueue_(nullptr)
, xferRead_(nullptr)
, xferWrite_(nullptr)
- , hsaCopyOps_(nullptr)
, numOfVgpus_(0)
{
group_segment_.handle = 0;
@@ -208,7 +207,6 @@ Device::~Device()
}
delete mapCache_;
delete mapCacheOps_;
- delete hsaCopyOps_;
// Destroy temporary buffers for read/write
delete xferRead_;
@@ -628,11 +626,6 @@ Device::create()
return false;
}
- hsaCopyOps_ = new amd::Monitor("HSA copy Lock", true);
- if (nullptr == hsaCopyOps_) {
- return false;
- }
-
mapCache_ = new std::vector();
if (mapCache_ == NULL) {
return false;
diff --git a/rocclr/runtime/device/rocm/rocdevice.hpp b/rocclr/runtime/device/rocm/rocdevice.hpp
index 2d8a8109e6..ed12234cd9 100644
--- a/rocclr/runtime/device/rocm/rocdevice.hpp
+++ b/rocclr/runtime/device/rocm/rocdevice.hpp
@@ -411,8 +411,6 @@ public:
amd::Memory* mem //!< Pointer to AMD memory object
) const;
- amd::Monitor& hsaCopyOps() const { return *hsaCopyOps_; }
-
private:
static hsa_ven_amd_loader_1_00_pfn_t amd_loader_ext_table;
@@ -441,10 +439,6 @@ private:
XferBuffers* xferRead_; //!< Transfer buffers read
XferBuffers* xferWrite_; //!< Transfer buffers write
- //! todo it shouldn't require a lock proteciton,
- //! but currently it causes a HW hang in MT environment
- amd::Monitor* hsaCopyOps_; //!< HSA copy is protected under lock
-
public:
amd::Atomic numOfVgpus_; //!< Virtual gpu unique index
}; // class roc::Device