feature: Add regkey to control AUB/TBX writable for buffer host memory

The new regkey SetBufferHostMemoryAlwaysAubWritable=0/1 allows controlling
if buffer host memory allocation is one-time AUB / TBX writable.

Related-To: NEO-11158

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
This commit is contained in:
Slawomir Milczarek
2024-04-24 18:16:52 +00:00
committed by Compute-Runtime-Automation
parent d38ac4806b
commit 6d15c248ec
4 changed files with 15 additions and 1 deletions

View File

@@ -31,6 +31,7 @@ AUBDumpAllocsOnEnqueueReadOnly = 0
AUBDumpAllocsOnEnqueueSVMMemcpyOnly = 0
AUBDumpForceAllToLocalMemory = 0
GenerateAubFilePerProcessId = 0
SetBufferHostMemoryAlwaysAubWritable = 0
EnableSWTags = 0
DumpSWTagsBXML = 0
ForceDeviceId = unk

View File

@@ -9,6 +9,7 @@
#include "shared/source/aub_mem_dump/aub_mem_dump.h"
#include "shared/source/aub_mem_dump/page_table_entry_bits.h"
#include "shared/source/command_stream/command_stream_receiver_simulated_common_hw.h"
#include "shared/source/debug_settings/debug_settings_manager.h"
#include "shared/source/helpers/aligned_memory.h"
#include "shared/source/helpers/gfx_core_helper.h"
#include "shared/source/release_helper/release_helper.h"
@@ -127,6 +128,15 @@ TEST(AubHelper, givenAllocationTypeWhenAskingIfOneTimeWritableThenReturnCorrectR
}
}
TEST(AubHelper, givenSetBufferHostMemoryAlwaysAubWritableWhenAskingIfBufferHostMemoryAllocationIsOneTimeAubWritableThenReturnCorrectResult) {
DebugManagerStateRestore stateRestore;
for (auto isAlwaysAubWritable : {false, true}) {
NEO::debugManager.flags.SetBufferHostMemoryAlwaysAubWritable.set(isAlwaysAubWritable);
EXPECT_NE(AubHelper::isOneTimeAubWritableAllocationType(AllocationType::bufferHostMemory), isAlwaysAubWritable);
}
}
using AubHelperTest = ::testing::Test;
HWTEST_F(AubHelperTest, WhenHBMSizePerTileInGigabytesIsNotSetThenGetMemBankSizeReturnsCorrectValue) {