feature: add SetBOChunkingSize debug variable

Resolves: NEO-9562

Signed-off-by: John Falkowski <john.falkowski@intel.com>
This commit is contained in:
John Falkowski
2023-11-30 17:31:22 +00:00
committed by Compute-Runtime-Automation
parent 3349fcaf75
commit e1df8f9112
5 changed files with 108 additions and 7 deletions

View File

@@ -5300,6 +5300,78 @@ TEST_F(DrmMemoryManagerTest, givenPageFaultIsSupportedWhenCallingBindBoOnAllocat
}
}
TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenDrmMemoryManagerWhenGetSizeOfChunkFor2ChunksThenActualValueReturned) {
DebugManagerStateRestore stateRestore;
debugManager.flags.NumberOfBOChunks.set(2);
size_t allocSize = 2097152;
size_t expectedSize = 1048576;
size_t chunkSize = memoryManager->getSizeOfChunk(allocSize);
EXPECT_EQ(expectedSize, chunkSize);
}
TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenDrmMemoryManagerWhenGetSizeOfChunkFor3ChunksThenCorrectedValueReturned) {
DebugManagerStateRestore stateRestore;
debugManager.flags.NumberOfBOChunks.set(3);
size_t allocSize = 2097152;
size_t expectedSize = 1048576;
size_t chunkSize = memoryManager->getSizeOfChunk(allocSize);
EXPECT_EQ(expectedSize, chunkSize);
}
TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenDrmMemoryManagerWhenGetSizeOfChunkFor1ChunkThenDefaultMinimumChunkSizeReturned) {
DebugManagerStateRestore stateRestore;
debugManager.flags.NumberOfBOChunks.set(1);
size_t allocSize = 2097152;
size_t expectedSize = 65536;
size_t chunkSize = memoryManager->getSizeOfChunk(allocSize);
EXPECT_EQ(expectedSize, chunkSize);
}
TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenDrmMemoryManagerWhenGetSizeOfChunkForTooManyChunksThenDefaultMinimumChunkSizeReturned) {
DebugManagerStateRestore stateRestore;
debugManager.flags.NumberOfBOChunks.set(10000);
size_t allocSize = 2097152;
size_t expectedSize = 65536;
size_t chunkSize = memoryManager->getSizeOfChunk(allocSize);
EXPECT_EQ(expectedSize, chunkSize);
}
TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenDrmMemoryManagerWhenSetChunkSizeThenSameSizeReturned) {
DebugManagerStateRestore stateRestore;
debugManager.flags.SetBOChunkingSize.set(65536);
size_t allocSize = 2097152;
size_t expectedSize = 65536;
size_t chunkSize = memoryManager->getSizeOfChunk(allocSize);
EXPECT_EQ(expectedSize, chunkSize);
}
TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenDrmMemoryManagerWhenSetChunkSizeThenCorrectedSizeReturned) {
DebugManagerStateRestore stateRestore;
debugManager.flags.SetBOChunkingSize.set(100000);
size_t allocSize = 2097152;
size_t expectedSize = 65536;
size_t chunkSize = memoryManager->getSizeOfChunk(allocSize);
EXPECT_EQ(expectedSize, chunkSize);
}
TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenDrmMemoryManagerWhenSetChunkSizeTooLargeThenCorrectedSizeReturned) {
DebugManagerStateRestore stateRestore;
debugManager.flags.SetBOChunkingSize.set(4000000);
size_t allocSize = 2097152;
size_t expectedSize = 1048576;
size_t chunkSize = memoryManager->getSizeOfChunk(allocSize);
EXPECT_EQ(expectedSize, chunkSize);
}
TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenDrmMemoryManagerWhenSetChunkSizeTooSmallThenCorrectedSizeReturned) {
DebugManagerStateRestore stateRestore;
debugManager.flags.SetBOChunkingSize.set(4000);
size_t allocSize = 2097152;
size_t expectedSize = 65536;
size_t chunkSize = memoryManager->getSizeOfChunk(allocSize);
EXPECT_EQ(expectedSize, chunkSize);
}
TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenDrmMemoryManagerWhenCreateBufferObjectInMemoryRegionIsCalledWithoutMemoryInfoThenNullBufferObjectIsReturned) {
mock->memoryInfo.reset(nullptr);