fix: Dont enable scratch pages when debugger is on

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
This commit is contained in:
Brandon Yates
2025-01-24 21:24:10 +00:00
committed by Compute-Runtime-Automation
parent 506db6bd73
commit 18d04b239e
3 changed files with 23 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2022-2024 Intel Corporation
* Copyright (C) 2022-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -309,10 +309,28 @@ TEST(DrmBufferObjectTestPrelim, givenDisableScratchPagesWhenCreateDrmVirtualMemo
EXPECT_TRUE(drm.receivedGemVmControl.flags & DrmPrelimHelper::getDisableScratchVmCreateFlag());
}
TEST(DrmBufferObjectPrelim, givenDebuggingEnabledWithoutDisableScratchPagesFlagSetWhenCreateDrmVirtualMemoryThenDisableScratchPagesFlagIsNotSet) {
TEST(DrmBufferObjectPrelim, givenDebuggingEnabledWithoutDisableScratchPagesFlagSetWhenCreateDrmVirtualMemoryThenDisableScratchPagesFlagIsSet) {
DebugManagerStateRestore restorer;
debugManager.flags.UseTileMemoryBankInVirtualMemoryCreation.set(0u);
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
executionEnvironment->setDebuggingMode(NEO::DebuggingMode::online);
DrmQueryMock drm{*executionEnvironment->rootDeviceEnvironments[0]};
drm.configureScratchPagePolicy();
drm.configureGpuFaultCheckThreshold();
EXPECT_TRUE(drm.disableScratch);
uint32_t vmId = 0;
drm.createDrmVirtualMemory(vmId);
EXPECT_TRUE(drm.receivedGemVmControl.flags & DrmPrelimHelper::getDisableScratchVmCreateFlag());
}
TEST(DrmBufferObjectTestPrelim, givenDisableScratchPagesDebugKeyOffAndDebuggingEnabledWhenCreateDrmVirtualMemoryThenEnvVariableIsPriority) {
DebugManagerStateRestore restorer;
debugManager.flags.DisableScratchPages.set(0);
debugManager.flags.UseTileMemoryBankInVirtualMemoryCreation.set(0u);
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
executionEnvironment->setDebuggingMode(NEO::DebuggingMode::online);
DrmQueryMock drm{*executionEnvironment->rootDeviceEnvironments[0]};
@@ -325,23 +343,6 @@ TEST(DrmBufferObjectPrelim, givenDebuggingEnabledWithoutDisableScratchPagesFlagS
EXPECT_FALSE(drm.receivedGemVmControl.flags & DrmPrelimHelper::getDisableScratchVmCreateFlag());
}
TEST(DrmBufferObjectTestPrelim, givenDisableScratchPagesAndDebuggingEnabledWhenCreateDrmVirtualMemoryThenEnvVariableIsPriority) {
DebugManagerStateRestore restorer;
debugManager.flags.DisableScratchPages.set(1);
debugManager.flags.UseTileMemoryBankInVirtualMemoryCreation.set(0u);
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
executionEnvironment->setDebuggingMode(NEO::DebuggingMode::online);
DrmQueryMock drm{*executionEnvironment->rootDeviceEnvironments[0]};
drm.configureScratchPagePolicy();
drm.configureGpuFaultCheckThreshold();
uint32_t vmId = 0;
drm.createDrmVirtualMemory(vmId);
EXPECT_TRUE(drm.receivedGemVmControl.flags & DrmPrelimHelper::getDisableScratchVmCreateFlag());
}
TEST(DrmBufferObjectTestPrelim, givenLocalMemoryDisabledWhenCreateDrmVirtualMemoryThenVmRegionExtensionIsNotPassed) {
DebugManagerStateRestore restorer;
debugManager.flags.EnableLocalMemory.set(0);