Add PrintOsContextInitializations debug flag

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
This commit is contained in:
Maciej Dziuban
2021-05-17 15:22:49 +00:00
committed by Compute-Runtime-Automation
parent fa944d296c
commit 4ffe456d85
10 changed files with 140 additions and 17 deletions

View File

@ -53,11 +53,15 @@ struct DeferredOsContextCreationTests : ::testing::Test {
DeviceFactory::prepareDeviceEnvironments(*device->getExecutionEnvironment());
}
void expectContextCreation(EngineTypeUsage engineTypeUsage, bool defaultEngine, bool expectedImmediate) {
std::unique_ptr<OsContext> createOsContext(EngineTypeUsage engineTypeUsage, bool defaultEngine) {
OSInterface *osInterface = device->getRootDeviceEnvironment().osInterface.get();
std::unique_ptr<OsContext> osContext{OsContext::create(osInterface, 0, 0, engineTypeUsage, PreemptionMode::Disabled, false)};
EXPECT_FALSE(osContext->isInitialized());
return osContext;
}
void expectContextCreation(EngineTypeUsage engineTypeUsage, bool defaultEngine, bool expectedImmediate) {
auto osContext = createOsContext(engineTypeUsage, defaultEngine);
const bool immediate = osContext->isImmediateContextInitializationEnabled(defaultEngine);
EXPECT_EQ(expectedImmediate, immediate);
if (immediate) {
@ -141,3 +145,18 @@ TEST_F(DeferredOsContextCreationTests, givenEnsureContextInitializeCalledMultipl
EXPECT_TRUE(osContext.isInitialized());
EXPECT_EQ(1u, osContext.initializeContextCalled);
}
TEST_F(DeferredOsContextCreationTests, givenPrintOsContextInitializationsIsSetWhenOsContextItIsInitializedThenInfoIsLoggedToStdout) {
DebugManagerStateRestore restore{};
DebugManager.flags.DeferOsContextInitialization.set(1);
DebugManager.flags.PrintOsContextInitializations.set(1);
testing::internal::CaptureStdout();
auto osContext = createOsContext(engineTypeUsageRegular, false);
EXPECT_EQ(std::string{}, testing::internal::GetCapturedStdout());
testing::internal::CaptureStdout();
osContext->ensureContextInitialized();
std::string expectedMessage = "OsContext initialization: contextId=0 usage=Regular type=RCS isRootDevice=0\n";
EXPECT_EQ(expectedMessage, testing::internal::GetCapturedStdout());
}

View File

@ -233,6 +233,7 @@ UseBindlessDebugSip = 0
OverrideSlmAllocationSize = -1
OverrideSlmSize = -1
UseCyclesPerSecondTimer = 0
PrintOsContextInitializations = 0
WaitLoopCount = -1
DebuggerLogBitmask = 0
GTPinAllocateBufferInSharedMemory = -1