performance: stop ULLS for BCS during migration

Related-To: NEO-13340

When regular copy CSR has enabled direct submission,
stop it before migration on internal CSR.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:
Szymon Morek
2024-12-02 15:57:06 +00:00
committed by Compute-Runtime-Automation
parent 9629ab3cc3
commit e6d11eb04b
5 changed files with 53 additions and 0 deletions

View File

@@ -1231,4 +1231,20 @@ EngineControl *SecondaryContexts::getEngine(EngineUsage usage) {
return &engines[secondaryEngineIndex];
}
void Device::stopDirectSubmissionForCopyEngine() {
auto internalBcsEngine = getInternalCopyEngine();
if (internalBcsEngine == nullptr || getHardwareInfo().featureTable.ftrBcsInfo.count() > 1) {
return;
}
auto regularBcsEngine = tryGetEngine(internalBcsEngine->osContext->getEngineType(), EngineUsage::regular);
if (regularBcsEngine == nullptr) {
return;
}
auto regularBcs = regularBcsEngine->commandStreamReceiver;
if (regularBcs->isAnyDirectSubmissionEnabled()) {
auto lock = regularBcs->obtainUniqueOwnership();
regularBcs->stopDirectSubmission(false);
}
}
} // namespace NEO