mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
Fix mutex order for event task and move args to gpu
This commit fixes problem with untransfered shared usm memory to gpu when there is submit to gpu trigerred by user event. Also there is a fix for dead lock problem caused by mixed orders of locking mutexes in csr and in direct submission controller. Related-To: NEO-6762 Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
d308df254c
commit
6ab6e1abff
@@ -104,6 +104,7 @@ class UltCommandStreamReceiver : public CommandStreamReceiverHw<GfxFamily>, publ
|
||||
using BaseClass::CommandStreamReceiver::mediaVfeStateDirty;
|
||||
using BaseClass::CommandStreamReceiver::newResources;
|
||||
using BaseClass::CommandStreamReceiver::osContext;
|
||||
using BaseClass::CommandStreamReceiver::ownershipMutex;
|
||||
using BaseClass::CommandStreamReceiver::perfCounterAllocator;
|
||||
using BaseClass::CommandStreamReceiver::postSyncWriteOffset;
|
||||
using BaseClass::CommandStreamReceiver::profilingTimeStampAllocator;
|
||||
@@ -124,6 +125,7 @@ class UltCommandStreamReceiver : public CommandStreamReceiverHw<GfxFamily>, publ
|
||||
using BaseClass::CommandStreamReceiver::userPauseConfirmation;
|
||||
using BaseClass::CommandStreamReceiver::waitForTaskCountAndCleanAllocationList;
|
||||
using BaseClass::CommandStreamReceiver::workPartitionAllocation;
|
||||
;
|
||||
|
||||
UltCommandStreamReceiver(ExecutionEnvironment &executionEnvironment,
|
||||
uint32_t rootDeviceIndex,
|
||||
|
||||
@@ -39,6 +39,7 @@ class MockCommandStreamReceiver : public CommandStreamReceiver {
|
||||
using CommandStreamReceiver::latestSentTaskCount;
|
||||
using CommandStreamReceiver::newResources;
|
||||
using CommandStreamReceiver::osContext;
|
||||
using CommandStreamReceiver::ownershipMutex;
|
||||
using CommandStreamReceiver::postSyncWriteOffset;
|
||||
using CommandStreamReceiver::preemptionAllocation;
|
||||
using CommandStreamReceiver::tagAddress;
|
||||
@@ -159,6 +160,13 @@ class MockCommandStreamReceiver : public CommandStreamReceiver {
|
||||
return status;
|
||||
}
|
||||
void postInitFlagsSetup() override {}
|
||||
bool isOwnershipMutexLocked() {
|
||||
bool isLocked = !this->ownershipMutex.try_lock();
|
||||
if (!isLocked) {
|
||||
this->ownershipMutex.unlock();
|
||||
}
|
||||
return isLocked;
|
||||
}
|
||||
|
||||
static constexpr size_t tagSize = 256;
|
||||
static volatile uint32_t mockTagAddress[tagSize];
|
||||
|
||||
Reference in New Issue
Block a user