Skip to content

Commit 671d916

Browse files
Add Debugger specific log print macros
- use DebuggerLogBitmask while printing logs for SBA tracking Signed-off-by: Mateusz Hoppe <[email protected]>
1 parent 3d13a9d commit 671d916

File tree

7 files changed

+43
-32
lines changed

7 files changed

+43
-32
lines changed

level_zero/core/source/cmdqueue/cmdqueue.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2020 Intel Corporation
2+
* Copyright (C) 2019-2021 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -88,7 +88,7 @@ ze_result_t CommandQueueImp::synchronizeByPollingForTaskCount(uint64_t timeout)
8888

8989
printFunctionsPrintfOutput();
9090

91-
if (NEO::Debugger::isDebugEnabled(internalUsage) && device->getL0Debugger() && NEO::DebugManager.flags.PrintDebugMessages.get()) {
91+
if (NEO::Debugger::isDebugEnabled(internalUsage) && device->getL0Debugger() && NEO::DebugManager.flags.DebuggerLogBitmask.get()) {
9292
device->getL0Debugger()->printTrackedAddresses(csr->getOsContext().getContextId());
9393
}
9494

level_zero/core/source/debugger/debugger_l0.cpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,14 @@ void DebuggerL0::printTrackedAddresses(uint32_t contextId) {
7676
auto memory = perContextSbaAllocations[contextId]->getUnderlyingBuffer();
7777
auto sba = reinterpret_cast<SbaTrackedAddresses *>(memory);
7878

79-
PRINT_DEBUG_STRING(NEO::DebugManager.flags.PrintDebugMessages.get(), stdout,
80-
"Debugger: SBA ssh = %" SCNx64
81-
" gsba = %" SCNx64
82-
" dsba = %" SCNx64
83-
" ioba = %" SCNx64
84-
" iba = %" SCNx64
85-
" bsurfsba = %" SCNx64 "\n",
86-
sba->SurfaceStateBaseAddress, sba->GeneralStateBaseAddress, sba->DynamicStateBaseAddress,
87-
sba->IndirectObjectBaseAddress, sba->InstructionBaseAddress, sba->BindlessSurfaceStateBaseAddress);
79+
PRINT_DEBUGGER_INFO_LOG("Debugger: SBA ssh = %" SCNx64
80+
" gsba = %" SCNx64
81+
" dsba = %" SCNx64
82+
" ioba = %" SCNx64
83+
" iba = %" SCNx64
84+
" bsurfsba = %" SCNx64 "\n",
85+
sba->SurfaceStateBaseAddress, sba->GeneralStateBaseAddress, sba->DynamicStateBaseAddress,
86+
sba->IndirectObjectBaseAddress, sba->InstructionBaseAddress, sba->BindlessSurfaceStateBaseAddress);
8887
}
8988

9089
DebuggerL0 ::~DebuggerL0() {

level_zero/core/source/debugger/debugger_l0.inl

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,14 @@ void DebuggerL0Hw<GfxFamily>::programSbaTrackingCommands(NEO::LinearStream &cmdS
2525
using MI_STORE_DATA_IMM = typename GfxFamily::MI_STORE_DATA_IMM;
2626
auto gpuAddress = NEO::GmmHelper::decanonize(sbaTrackingGpuVa.address);
2727

28-
PRINT_DEBUG_STRING(NEO::DebugManager.flags.PrintDebugMessages.get(), stdout,
29-
"Debugger: SBA stored ssh = %" SCNx64
30-
" gsba = %" SCNx64
31-
" dsba = %" SCNx64
32-
" ioba = %" SCNx64
33-
" iba = %" SCNx64
34-
" bsurfsba = %" SCNx64 "\n",
35-
sba.SurfaceStateBaseAddress, sba.GeneralStateBaseAddress, sba.DynamicStateBaseAddress,
36-
sba.IndirectObjectBaseAddress, sba.InstructionBaseAddress, sba.BindlessSurfaceStateBaseAddress);
28+
PRINT_DEBUGGER_INFO_LOG("Debugger: SBA stored ssh = %" SCNx64
29+
" gsba = %" SCNx64
30+
" dsba = %" SCNx64
31+
" ioba = %" SCNx64
32+
" iba = %" SCNx64
33+
" bsurfsba = %" SCNx64 "\n",
34+
sba.SurfaceStateBaseAddress, sba.GeneralStateBaseAddress, sba.DynamicStateBaseAddress,
35+
sba.IndirectObjectBaseAddress, sba.InstructionBaseAddress, sba.BindlessSurfaceStateBaseAddress);
3736

3837
if (sba.GeneralStateBaseAddress) {
3938
MI_STORE_DATA_IMM storeDataImmediate = GfxFamily::cmdInitStoreDataImm;

level_zero/core/test/unit_tests/sources/debugger/test_l0_debugger.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,9 @@ HWTEST2_F(L0DebuggerTest, givenDebuggingEnabledAndRequiredGsbaWhenCommandListIsE
218218
commandQueue->destroy();
219219
}
220220

221-
HWTEST_F(L0DebuggerTest, givenDebuggingEnabledAndPrintDebugMessagesWhenCommandQueueIsSynchronizedThenSbaAddressesArePrinted) {
221+
HWTEST_F(L0DebuggerTest, givenDebuggingEnabledAndDebuggerLogsWhenCommandQueueIsSynchronizedThenSbaAddressesArePrinted) {
222222
DebugManagerStateRestore restorer;
223-
NEO::DebugManager.flags.PrintDebugMessages.set(1);
223+
NEO::DebugManager.flags.DebuggerLogBitmask.set(255);
224224

225225
testing::internal::CaptureStdout();
226226

@@ -239,7 +239,7 @@ HWTEST_F(L0DebuggerTest, givenDebuggingEnabledAndPrintDebugMessagesWhenCommandQu
239239
commandQueue->synchronize(0);
240240

241241
std::string output = testing::internal::GetCapturedStdout();
242-
size_t pos = output.find("Debugger: SBA stored ssh");
242+
size_t pos = output.find("INFO: Debugger: SBA stored ssh");
243243
EXPECT_NE(std::string::npos, pos);
244244

245245
pos = output.find("Debugger: SBA ssh");
@@ -253,9 +253,9 @@ HWTEST_F(L0DebuggerTest, givenDebuggingEnabledAndPrintDebugMessagesWhenCommandQu
253253

254254
using L0DebuggerSimpleTest = Test<DeviceFixture>;
255255

256-
HWTEST_F(L0DebuggerSimpleTest, givenNullL0DebuggerAndPrintDebugMessagesWhenCommandQueueIsSynchronizedThenSbaAddressesAreNotPrinted) {
256+
HWTEST_F(L0DebuggerSimpleTest, givenNullL0DebuggerAndDebuggerLogsWhenCommandQueueIsSynchronizedThenSbaAddressesAreNotPrinted) {
257257
DebugManagerStateRestore restorer;
258-
NEO::DebugManager.flags.PrintDebugMessages.set(1);
258+
NEO::DebugManager.flags.DebuggerLogBitmask.set(255);
259259

260260
EXPECT_EQ(nullptr, device->getL0Debugger());
261261
testing::internal::CaptureStdout();
@@ -284,9 +284,9 @@ HWTEST_F(L0DebuggerSimpleTest, givenNullL0DebuggerAndPrintDebugMessagesWhenComma
284284
commandQueue->destroy();
285285
}
286286

287-
HWTEST_F(L0DebuggerTest, givenL0DebuggerAndPrintDebugMessagesSetToFalseWhenCommandQueueIsSynchronizedThenSbaAddressesAreNotPrinted) {
287+
HWTEST_F(L0DebuggerTest, givenL0DebuggerAndDebuggerLogsDisabledWhenCommandQueueIsSynchronizedThenSbaAddressesAreNotPrinted) {
288288
DebugManagerStateRestore restorer;
289-
NEO::DebugManager.flags.PrintDebugMessages.set(0);
289+
NEO::DebugManager.flags.DebuggerLogBitmask.set(0);
290290

291291
EXPECT_NE(nullptr, device->getL0Debugger());
292292
testing::internal::CaptureStdout();
@@ -436,9 +436,9 @@ HWTEST_F(L0DebuggerInternalUsageTest, givenDebuggingEnabledWhenCommandListIsInit
436436
commandList->destroy();
437437
}
438438

439-
HWTEST_F(L0DebuggerInternalUsageTest, givenPrintDebugMessagesSetToTrueWhenCommandListIsSynchronizedThenSbaAddressesAreNotPrinted) {
439+
HWTEST_F(L0DebuggerInternalUsageTest, givenDebuggerLogsDisabledWhenCommandListIsSynchronizedThenSbaAddressesAreNotPrinted) {
440440
DebugManagerStateRestore restorer;
441-
NEO::DebugManager.flags.PrintDebugMessages.set(0);
441+
NEO::DebugManager.flags.DebuggerLogBitmask.set(0);
442442

443443
EXPECT_NE(nullptr, device->getL0Debugger());
444444
testing::internal::CaptureStdout();

level_zero/tools/test/unit_tests/sources/metrics/test_metric_enumeration.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2081,7 +2081,7 @@ class MetricEnumerationTestMetricTypes : public MetricEnumerationTest,
20812081
MetricEnumerationTestMetricTypes() {
20822082
metricType = GetParam();
20832083
}
2084-
~MetricEnumerationTestMetricTypes() {}
2084+
~MetricEnumerationTestMetricTypes() override {}
20852085
};
20862086

20872087
TEST_P(MetricEnumerationTestMetricTypes, givenValidMetricTypesWhenSetAndGetIsSameThenReturnSuccess) {
@@ -2203,7 +2203,7 @@ class MetricEnumerationTestInformationTypes : public MetricEnumerationTest,
22032203
validate[MetricsDiscovery::TInformationType::INFORMATION_TYPE_SAMPLE_PHASE] = ZET_METRIC_TYPE_RAW;
22042204
validate[MetricsDiscovery::TInformationType::INFORMATION_TYPE_GPU_NODE] = ZET_METRIC_TYPE_RAW;
22052205
}
2206-
~MetricEnumerationTestInformationTypes() {}
2206+
~MetricEnumerationTestInformationTypes() override {}
22072207
};
22082208

22092209
TEST_P(MetricEnumerationTestInformationTypes, givenValidInformationTypesWhenSetAndGetIsSameThenReturnSuccess) {

shared/source/debug_settings/debug_settings_manager.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,19 @@ class DebugSettingsManager {
133133

134134
extern DebugSettingsManager<globalDebugFunctionalityLevel> DebugManager;
135135

136+
#define PRINT_DEBUGGER_LOG(OUT, STR, ...) \
137+
NEO::printDebugString(true, OUT, STR, __VA_ARGS__);
138+
139+
#define PRINT_DEBUGGER_INFO_LOG(STR, ...) \
140+
if (NEO::DebugManager.flags.DebuggerLogBitmask.get() & NEO::DebugVariables::DEBUGGER_LOG_BITMASK::LOG_INFO) { \
141+
PRINT_DEBUGGER_LOG(stdout, "\nINFO: " STR, __VA_ARGS__) \
142+
}
143+
144+
#define PRINT_DEBUGGER_ERROR_LOG(STR, ...) \
145+
if (NEO::DebugManager.flags.DebuggerLogBitmask.get() & NEO::DebugVariables::DEBUGGER_LOG_BITMASK::LOG_ERROR) { \
146+
PRINT_DEBUGGER_LOG(stderr, "\nERROR: " STR, __VA_ARGS__) \
147+
}
148+
136149
template <DebugFunctionalityLevel DebugLevel>
137150
const char *DebugSettingsManager<DebugLevel>::settingsDumpFileName = "igdrcl_dumped.config";
138151
}; // namespace NEO

shared/source/debug_settings/debug_variables_base.inl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ DECLARE_DEBUG_VARIABLE(int32_t, GpuScratchRegWriteAfterWalker, -1, "-1: disabled
9393
DECLARE_DEBUG_VARIABLE(int32_t, GpuScratchRegWriteRegisterOffset, 0, "register offset for GPU scratch register write after walker")
9494
DECLARE_DEBUG_VARIABLE(int32_t, GpuScratchRegWriteRegisterData, 0, "register data for GPU scratch register write after walker")
9595
DECLARE_DEBUG_VARIABLE(int32_t, OverrideSlmAllocationSize, -1, "-1: default, >=0: program value for shared local memory size")
96-
DECLARE_DEBUG_VARIABLE(int32_t, DebuggerLogBitmask, 0, "0: logs disabled, != 0: see DebugVariables::DEBUGGER_LOG_BITMASK")
96+
DECLARE_DEBUG_VARIABLE(int32_t, DebuggerLogBitmask, 0, "0: logs disabled, 1 - INFO, 2 - ERROR, 1<<10 - Dump elf, see DebugVariables::DEBUGGER_LOG_BITMASK")
9797

9898
/*LOGGING FLAGS*/
9999
DECLARE_DEBUG_VARIABLE(int32_t, PrintDriverDiagnostics, -1, "prints driver diagnostics messages to standard output, value corresponds to hint level")

0 commit comments

Comments
 (0)