LoopAtPlatformInitialize renamed to LoopAtDriverInit and triggers earlier

Related-To: NEO-4526
Change-Id: I13067badfbaf9f46c993b08126fb35e53d68f6d3
This commit is contained in:
Sebastian Luzynski 2020-04-22 10:24:00 +02:00 committed by sys_ocldev
parent acfa007d30
commit fd195f0967
10 changed files with 12 additions and 34 deletions

2
Jenkinsfile vendored
View File

@ -1,5 +1,5 @@
#!groovy
dependenciesRevision='e567b2628eb89b67c064470d719f694138cd0873-1407'
strategy='EQUAL'
allowedCD=246
allowedCD=247
allowedF=20

View File

@ -113,11 +113,6 @@ bool Platform::initialize(std::vector<std::unique_ptr<Device>> devices) {
return true;
}
if (DebugManager.flags.LoopAtPlatformInitialize.get()) {
while (DebugManager.flags.LoopAtPlatformInitialize.get())
this->initializationLoopHelper();
}
state = StateIniting;
DEBUG_BREAK_IF(this->platformInfo);

View File

@ -67,7 +67,6 @@ class Platform : public BaseObject<_cl_platform_id> {
};
cl_uint state = StateNone;
void fillGlobalDispatchTable();
MOCKABLE_VIRTUAL void initializationLoopHelper(){};
std::unique_ptr<PlatformInfo> platformInfo;
ClDeviceVector clDevices;
ExecutionEnvironment &executionEnvironment;

View File

@ -15,7 +15,6 @@ namespace NEO {
class MockPlatform : public Platform {
public:
using Platform::fillGlobalDispatchTable;
using Platform::initializationLoopHelper;
MockPlatform() : MockPlatform(*(new ExecutionEnvironment())) {}
MockPlatform(ExecutionEnvironment &executionEnvironment) : Platform(executionEnvironment) {}
bool initializeWithNewDevices();

View File

@ -358,11 +358,6 @@ TEST(PlatformConstructionTest, givenPlatformConstructorWhenItIsCalledAfterResetT
platformsImpl.clear();
}
TEST(PlatformInitLoopTests, givenPlatformWhenInitLoopHelperIsCalledThenItDoesNothing) {
MockPlatform platform;
platform.initializationLoopHelper();
}
TEST(PlatformInitTest, givenNullptrDeviceInPassedDeviceVectorWhenInitializePlatformThenExceptionIsThrown) {
std::vector<std::unique_ptr<Device>> devices;
devices.push_back(nullptr);
@ -388,23 +383,6 @@ TEST(PlatformInitTest, givenSingleDeviceWithNonZeroRootDeviceIndexInPassedDevice
EXPECT_EQ(2u, platform()->getClDevice(0)->getRootDeviceIndex());
}
TEST(PlatformInitLoopTests, givenPlatformWithDebugSettingWhenInitIsCalledThenItEntersEndlessLoop) {
DebugManagerStateRestore stateRestore;
DebugManager.flags.LoopAtPlatformInitialize.set(true);
bool called = false;
struct mockPlatform : public MockPlatform {
mockPlatform(bool &called) : called(called){};
void initializationLoopHelper() override {
DebugManager.flags.LoopAtPlatformInitialize.set(false);
called = true;
}
bool &called;
};
mockPlatform platform(called);
platform.initializeWithNewDevices();
EXPECT_TRUE(called);
}
TEST(PlatformGroupDevicesTest, whenMultipleDevicesAreCreatedThenGroupDevicesCreatesVectorPerEachProductFamily) {
DebugManagerStateRestore restorer;
const size_t numRootDevices = 5u;

View File

@ -89,7 +89,7 @@ RebuildPrecompiledKernels = 0
CreateMultipleRootDevices = 0
CreateMultipleSubDevices = 0
EnableExperimentalCommandBuffer = 0
LoopAtPlatformInitialize = 0
LoopAtDriverInit = 0
EnableTimestampPacket = -1
ReturnRawGpuTimestamps = 0
DoNotRegisterTrimCallback = 0

View File

@ -33,6 +33,9 @@ DebugSettingsManager<DebugLevel>::DebugSettingsManager(const char *registryPath)
dumpFlags();
}
translateDebugSettings(flags);
while (isLoopAtDriverInitEnabled())
;
}
template <DebugFunctionalityLevel DebugLevel>

View File

@ -106,6 +106,10 @@ class DebugSettingsManager {
std::mutex mtx;
std::string logFileName;
bool isLoopAtDriverInitEnabled() const {
auto loopingEnabled = flags.LoopAtDriverInit.get();
return loopingEnabled;
}
template <typename DataType>
static void dumpNonDefaultFlag(const char *variableName, const DataType &variableValue, const DataType &defaultValue);
void dumpFlags() const;

View File

@ -54,7 +54,7 @@ DECLARE_DEBUG_VARIABLE(bool, DisableResourceRecycling, false, "when set to true
DECLARE_DEBUG_VARIABLE(bool, ForceDispatchScheduler, false, "dispatches scheduler kernel instead of kernel enqueued")
DECLARE_DEBUG_VARIABLE(bool, TrackParentEvents, false, "events track their parents")
DECLARE_DEBUG_VARIABLE(bool, RebuildPrecompiledKernels, false, "forces driver to recompile precompiled kernels from sources")
DECLARE_DEBUG_VARIABLE(bool, LoopAtPlatformInitialize, false, "Adds endless loop in platform initalize, useful for debugging.")
DECLARE_DEBUG_VARIABLE(bool, LoopAtDriverInit, false, "Adds endless loop in DebugSettingsManager constructor, useful for debugging.")
DECLARE_DEBUG_VARIABLE(bool, DoNotRegisterTrimCallback, false, "When set to true driver is not registering trim callback.")
DECLARE_DEBUG_VARIABLE(bool, OverrideInvalidEngineWithDefault, false, "When set to true driver chooses engine 0 if no engine is found.")
DECLARE_DEBUG_VARIABLE(bool, DisableAuxTranslation, false, "Disable aux translation when required by Kernel.")

View File

@ -116,7 +116,7 @@ TEST(DebugSettingsManager, givenPrintDebugSettingsEnabledWhenCallingDumpFlagsThe
testing::internal::CaptureStdout();
FullyEnabledTestDebugManager debugManager;
debugManager.flags.PrintDebugSettings.set(true);
debugManager.flags.LoopAtPlatformInitialize.set(true);
debugManager.flags.LoopAtDriverInit.set(true);
debugManager.flags.Enable64kbpages.set(1);
debugManager.flags.TbxServer.set("192.168.0.1");
@ -136,7 +136,7 @@ TEST(DebugSettingsManager, givenPrintDebugSettingsEnabledWhenCallingDumpFlagsThe
ASSERT_NE(0u, output.size());
EXPECT_NE(std::string::npos, output.find("Non-default value of debug variable: TbxServer = 192.168.0.1"));
EXPECT_NE(std::string::npos, output.find("Non-default value of debug variable: LoopAtPlatformInitialize = 1"));
EXPECT_NE(std::string::npos, output.find("Non-default value of debug variable: LoopAtDriverInit = 1"));
EXPECT_NE(std::string::npos, output.find("Non-default value of debug variable: PrintDebugSettings = 1"));
EXPECT_NE(std::string::npos, output.find("Non-default value of debug variable: Enable64kbpages = 1"));
}