performance: Improve ULLS light residency management

-skip bo::wait if completion fence not needed
-do not restart exec on evict

Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
Lukasz Jobczyk
2025-03-24 13:59:38 +00:00
committed by Compute-Runtime-Automation
parent 4e9e995dca
commit 35eae3f977
3 changed files with 15 additions and 3 deletions

View File

@@ -1406,7 +1406,19 @@ void DrmMemoryManager::handleFenceCompletion(GraphicsAllocation *allocation) {
waitForEnginesCompletion(*allocation);
}
} else {
static_cast<DrmAllocation *>(allocation)->getBO()->wait(-1);
bool callBoWait = true;
const auto &engines = this->getRegisteredEngines(allocation->getRootDeviceIndex());
for (const auto &engine : engines) {
if (engine.osContext->isDirectSubmissionLightActive() && !allocationTypeForCompletionFence(allocation->getAllocationType())) {
callBoWait = false;
break;
}
}
if (callBoWait) {
static_cast<DrmAllocation *>(allocation)->getBO()->wait(-1);
}
}
}