fix: fix indirect allocation handling during ipc import.

Allocation counter was not update which resulted in residency being skipped.
Resolves: NEO-8198
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
This commit is contained in:
Michal Mrozek
2023-07-20 15:08:50 +00:00
committed by Compute-Runtime-Automation
parent bc4d9290d1
commit a0ba92a202
3 changed files with 128 additions and 5 deletions

View File

@@ -536,6 +536,7 @@ void *DriverHandleImp::importFdHandle(NEO::Device *neoDevice,
isHostIpcAllocation ? InternalMemoryType::HOST_UNIFIED_MEMORY : InternalMemoryType::DEVICE_UNIFIED_MEMORY;
allocDataTmp->device = neoDevice;
allocDataTmp->isImportedAllocation = true;
allocDataTmp->setAllocId(this->getSvmAllocsManager()->allocationsCounter++);
if (flags & ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_UNCACHED) {
allocDataTmp->allocationFlagsProperty.flags.locallyUncachedResource = 1;
}
@@ -588,6 +589,8 @@ void *DriverHandleImp::importFdHandles(NEO::Device *neoDevice, ze_ipc_memory_fla
allocDataTmp->size = alloc->getUnderlyingBufferSize();
allocDataTmp->memoryType = InternalMemoryType::DEVICE_UNIFIED_MEMORY;
allocDataTmp->device = neoDevice;
allocDataTmp->setAllocId(this->getSvmAllocsManager()->allocationsCounter++);
if (flags & ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_UNCACHED) {
allocDataTmp->allocationFlagsProperty.flags.locallyUncachedResource = 1;
}
@@ -757,6 +760,7 @@ void *DriverHandleImp::importNTHandle(ze_device_handle_t hDevice, void *handle,
allocData.memoryType =
isHostIpcAllocation ? InternalMemoryType::HOST_UNIFIED_MEMORY : InternalMemoryType::DEVICE_UNIFIED_MEMORY;
allocData.device = neoDevice;
allocData.setAllocId(this->getSvmAllocsManager()->allocationsCounter++);
this->getSvmAllocsManager()->insertSVMAlloc(allocData);