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:
Maciej Plewka
2022-05-19 10:06:08 +00:00
committed by Compute-Runtime-Automation
parent d308df254c
commit 6ab6e1abff
18 changed files with 427 additions and 139 deletions

View File

@ -88,7 +88,7 @@ CommandQueue::CommandQueue(Context *context, ClDevice *device, const cl_queue_pr
}
if (!deferCmdQBcsInitialization) {
this->initializeBcsEngine(internalUsage);
this->constructBcsEngine(internalUsage);
}
}
@ -274,7 +274,7 @@ CommandStreamReceiver &CommandQueue::selectCsrForBuiltinOperation(const CsrSelec
return *selectedCsr;
}
void CommandQueue::initializeBcsEngine(bool internalUsage) {
void CommandQueue::constructBcsEngine(bool internalUsage) {
if (bcsAllowed && !bcsInitialized) {
auto &hwInfo = device->getHardwareInfo();
auto &hwHelper = HwHelper::get(hwInfo.platform.eRenderCoreFamily);
@ -293,6 +293,10 @@ void CommandQueue::initializeBcsEngine(bool internalUsage) {
}
}
void CommandQueue::initializeBcsEngine(bool internalUsage) {
constructBcsEngine(internalUsage);
}
Device &CommandQueue::getDevice() const noexcept {
return device->getDevice();
}