mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 09:14:47 +08:00
fix: usm reuse cleaner mt tests
Related-To: NEO-13425 Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
6c6cc26b19
commit
9cfc6e6bbe
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2018-2022 Intel Corporation
|
||||
# Copyright (C) 2018-2025 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
@@ -8,5 +8,6 @@ set(IGDRCL_SRCS_mt_tests_memory_manager
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/deferred_deleter_clear_queue_mt_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/deferred_deleter_mt_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unified_memory_reuse_cleaner_tests_mt.cpp
|
||||
)
|
||||
target_sources(igdrcl_mt_tests PRIVATE ${IGDRCL_SRCS_mt_tests_memory_manager})
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Copyright (C) 2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/test/common/mocks/mock_usm_memory_reuse_cleaner.h"
|
||||
#include "shared/test/common/test_macros/test.h"
|
||||
namespace NEO {
|
||||
|
||||
TEST(UnifiedMemoryReuseCleanerTestsMt, givenUnifiedMemoryReuseCleanerWhenSleepExpiredThenTrimOldInCachesIsCalled) {
|
||||
MockUnifiedMemoryReuseCleaner cleaner;
|
||||
cleaner.callBaseStartThread = true;
|
||||
cleaner.callBaseTrimOldInCaches = false;
|
||||
EXPECT_EQ(nullptr, cleaner.unifiedMemoryReuseCleanerThread);
|
||||
cleaner.startThread();
|
||||
EXPECT_NE(nullptr, cleaner.unifiedMemoryReuseCleanerThread);
|
||||
EXPECT_FALSE(cleaner.runCleaning.load());
|
||||
EXPECT_TRUE(cleaner.keepCleaning.load());
|
||||
|
||||
EXPECT_FALSE(cleaner.trimOldInCachesCalled);
|
||||
cleaner.registerSvmAllocationCache(nullptr);
|
||||
EXPECT_TRUE(cleaner.runCleaning.load());
|
||||
|
||||
while (false == cleaner.trimOldInCachesCalled) {
|
||||
std::this_thread::yield();
|
||||
}
|
||||
cleaner.stopThread();
|
||||
EXPECT_EQ(nullptr, cleaner.unifiedMemoryReuseCleanerThread);
|
||||
EXPECT_FALSE(cleaner.runCleaning.load());
|
||||
EXPECT_FALSE(cleaner.keepCleaning.load());
|
||||
}
|
||||
|
||||
TEST(UnifiedMemoryReuseCleanerTestsMt, givenUnifiedMemoryReuseCleanerWithNotStartedCleaningWhenShuttingDownThenNoHang) {
|
||||
MockUnifiedMemoryReuseCleaner cleaner;
|
||||
cleaner.callBaseStartThread = true;
|
||||
cleaner.callBaseTrimOldInCaches = false;
|
||||
cleaner.startThread();
|
||||
EXPECT_NE(nullptr, cleaner.unifiedMemoryReuseCleanerThread);
|
||||
|
||||
std::this_thread::yield();
|
||||
cleaner.stopThread();
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
Reference in New Issue
Block a user