feature: Enable defer backing by default

Related-To: NEO-13403

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
This commit is contained in:
Bellekallu Rajkiran
2025-03-04 12:52:12 +00:00
committed by Compute-Runtime-Automation
parent efb814d979
commit fffe8f8027
4 changed files with 39 additions and 17 deletions

View File

@@ -489,7 +489,7 @@ DECLARE_DEBUG_VARIABLE(bool, ForceSamplerLowFilteringPrecision, false, "Force Lo
DECLARE_DEBUG_VARIABLE(bool, EnablePrivateBO, false, "Enable PRELIM_I915_GEM_CREATE_EXT_VM_PRIVATE extension creating VM_PRIVATE BOs")
DECLARE_DEBUG_VARIABLE(bool, EnableAIL, true, "Enables AIL")
DECLARE_DEBUG_VARIABLE(bool, EnableReservingInSvmRange, true, "Enables reserving virtual memory in the SVM range")
DECLARE_DEBUG_VARIABLE(bool, EnableDeferBacking, false, "Enables defer backing on xe kmd")
DECLARE_DEBUG_VARIABLE(int32_t, EnableDeferBacking, -1, "Enables defer backing on xe kmd, -1:default(enabled), 0:disable, 1:enable")
DECLARE_DEBUG_VARIABLE(bool, DisableProgrammableMetricsSupport, false, "Disable Programmable Metrics support")
DECLARE_DEBUG_VARIABLE(int64_t, VmBindWaitUserFenceTimeout, -1, "-1: default, >0: time in ns for wait function timeout")
DECLARE_DEBUG_VARIABLE(int32_t, ForceRunAloneContext, -1, "Control creation of run-alone HW context, -1:default, 0:disable, 1:enable")

View File

@@ -678,7 +678,12 @@ int IoctlHelperXe::createGemExt(const MemRegionsVec &memClassInstances, size_t a
create.placement = static_cast<uint32_t>(memoryInstances.to_ulong());
create.cpu_caching = this->getCpuCachingMode(isCoherent, isSysMemOnly);
if (debugManager.flags.EnableDeferBacking.get()) {
auto enableDeferBacking = true;
if (debugManager.flags.EnableDeferBacking.get() != -1) {
enableDeferBacking = debugManager.flags.EnableDeferBacking.get();
}
if (enableDeferBacking) {
create.flags |= DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING;
}
@@ -724,7 +729,12 @@ uint32_t IoctlHelperXe::createGem(uint64_t size, uint32_t memoryBanks, std::opti
create.placement = static_cast<uint32_t>(memoryInstances.to_ulong());
create.cpu_caching = this->getCpuCachingMode(isCoherent, isSysMemOnly);
if (debugManager.flags.EnableDeferBacking.get()) {
auto enableDeferBacking = true;
if (debugManager.flags.EnableDeferBacking.get() != -1) {
enableDeferBacking = debugManager.flags.EnableDeferBacking.get();
}
if (enableDeferBacking) {
create.flags |= DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING;
}
@@ -1575,9 +1585,9 @@ bool IoctlHelperXe::isImmediateVmBindRequired() const {
}
bool IoctlHelperXe::makeResidentBeforeLockNeeded() const {
auto makeResidentBeforeLockNeeded = false;
if (debugManager.flags.EnableDeferBacking.get()) {
makeResidentBeforeLockNeeded = true;
auto makeResidentBeforeLockNeeded = true;
if (debugManager.flags.EnableDeferBacking.get() != -1) {
makeResidentBeforeLockNeeded = debugManager.flags.EnableDeferBacking.get();
}
return makeResidentBeforeLockNeeded;
}