Revert "Lock BuiltIn to make appendMemory calls thread safe"

This reverts commit 6a9f5d9bede690931c498a9b2db307d92dc196ab.

Change-Id: Ib1c7a66def4b16a0cf8a079497cfa34c1b2b3631
This commit is contained in:
Jaime Arteaga
2020-08-05 15:10:28 -07:00
parent 398ad44404
commit 3471b01f05
3 changed files with 0 additions and 29 deletions

View File

@@ -8,7 +8,6 @@
#pragma once
#include <memory>
#include <mutex>
namespace NEO {
class BuiltIns;
@@ -45,7 +44,6 @@ enum class ImageBuiltin : uint32_t {
};
struct BuiltinFunctionsLib {
using MutexType = std::mutex;
virtual ~BuiltinFunctionsLib() = default;
static std::unique_ptr<BuiltinFunctionsLib> create(Device *device,
NEO::BuiltIns *builtins);
@@ -56,12 +54,9 @@ struct BuiltinFunctionsLib {
virtual void initImageFunctions() = 0;
virtual Kernel *getPageFaultFunction() = 0;
virtual void initPageFaultFunction() = 0;
MOCKABLE_VIRTUAL std::unique_lock<MutexType> obtainUniqueOwnership();
protected:
BuiltinFunctionsLib() = default;
MutexType ownershipMutex;
};
} // namespace L0

View File

@@ -16,10 +16,6 @@ std::unique_ptr<BuiltinFunctionsLib> BuiltinFunctionsLib::create(Device *device,
return std::unique_ptr<BuiltinFunctionsLib>(new BuiltinFunctionsLibImpl(device, builtins));
}
std::unique_lock<BuiltinFunctionsLib::MutexType> BuiltinFunctionsLib::obtainUniqueOwnership() {
return std::unique_lock<BuiltinFunctionsLib::MutexType>(this->ownershipMutex);
}
void BuiltinFunctionsLibImpl::initFunctions() {
for (uint32_t builtId = 0; builtId < static_cast<uint32_t>(Builtin::COUNT); builtId++) {
const char *builtinName = nullptr;

View File

@@ -277,8 +277,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendImageCopyFromMemory(ze_i
rowPitch, slicePitch, bytesPerPixel, {pDstRegion->width, pDstRegion->height, pDstRegion->depth}, {pDstRegion->width, pDstRegion->height, pDstRegion->depth}, imgSize, hEvent);
}
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
Kernel *builtinKernel = nullptr;
switch (bytesPerPixel) {
@@ -393,8 +391,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendImageCopyToMemory(void *
rowPitch, slicePitch, bytesPerPixel, {pSrcRegion->width, pSrcRegion->height, pSrcRegion->depth}, imgSize, {pSrcRegion->width, pSrcRegion->height, pSrcRegion->depth}, hEvent);
}
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
Kernel *builtinKernel = nullptr;
switch (bytesPerPixel) {
@@ -541,8 +537,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendImageCopyRegion(ze_image
dstRowPitch, dstSlicePitch, bytesPerPixel, {srcRegion.width, srcRegion.height, srcRegion.depth}, srcImgSize, dstImgSize, hEvent);
}
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
auto kernel = device->getBuiltinFunctionsLib()->getImageFunction(ImageBuiltin::CopyImageRegion);
if (kernel->suggestGroupSize(groupSizeX, groupSizeY, groupSizeZ, &groupSizeX,
@@ -609,8 +603,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyKernelWithGA(v
uint32_t elementSize,
Builtin builtin) {
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
auto builtinFunction = device->getBuiltinFunctionsLib()->getFunction(builtin);
uint32_t groupSizeX = builtinFunction->getImmutableData()
@@ -721,8 +713,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendPageFaultCopy(NEO::Graph
NEO::GraphicsAllocation *srcptr,
size_t size, bool flushHost) {
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
auto builtinFunction = device->getBuiltinFunctionsLib()->getPageFaultFunction();
uint32_t groupSizeX = builtinFunction->getImmutableData()
@@ -768,8 +758,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopy(void *dstptr,
uint32_t numWaitEvents,
ze_event_handle_t *phWaitEvents) {
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
using GfxFamily = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
uintptr_t start = reinterpret_cast<uintptr_t>(dstptr);
@@ -858,8 +846,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyRegion(void *d
uint32_t srcPitch,
uint32_t srcSlicePitch,
ze_event_handle_t hSignalEvent) {
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
size_t dstSize = 0;
size_t srcSize = 0;
@@ -931,8 +917,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyKernel3d(NEO::
uint32_t numWaitEvents,
ze_event_handle_t *phWaitEvents) {
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
auto builtinFunction = device->getBuiltinFunctionsLib()->getFunction(builtin);
uint32_t groupSizeX = srcRegion->width;
@@ -991,8 +975,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyKernel2d(NEO::
uint32_t numWaitEvents,
ze_event_handle_t *phWaitEvents) {
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
auto builtinFunction = device->getBuiltinFunctionsLib()->getFunction(builtin);
uint32_t groupSizeX = srcRegion->width;
@@ -1079,8 +1061,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryFill(void *ptr,
size_t srcOffset = 0;
NEO::EncodeSurfaceState<GfxFamily>::getSshAlignedPointer(srcPtr, srcOffset);
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
Kernel *builtinFunction = nullptr;
uint32_t groupSizeX = 1u;