mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-26 15:03:02 +08:00
fix: explicitly report unhandled event exec queue placements
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
5eebde1231
commit
86ecbf3507
@@ -344,7 +344,8 @@ void DebugSessionLinuxXe::handleEvent(NEO::EuDebugEvent *event) {
|
||||
vmBindOpData.vmBindOpMetadataVec.push_back(*vmBindOpMetadata);
|
||||
vmBindOpData.pendingNumExtensions--;
|
||||
handleVmBind(vmBindMap[vmBindSeqNo]);
|
||||
} else if (type == euDebugInterface->getParamValue(NEO::EuDebugParam::eventTypePagefault)) {
|
||||
} else if (type == euDebugInterface->getParamValue(NEO::EuDebugParam::eventTypePagefault) ||
|
||||
type == euDebugInterface->getParamValue(NEO::EuDebugParam::eventTypeExecQueuePlacements)) {
|
||||
PRINT_DEBUGGER_INFO_LOG("DRM_XE_EUDEBUG_IOCTL_READ_EVENT type: UNHANDLED %u flags = %u len = %lu\n", type, event->flags, event->len);
|
||||
} else {
|
||||
additionalEvents(event);
|
||||
|
||||
@@ -2534,6 +2534,18 @@ TEST_F(DebugApiLinuxTestXe, GivenNotImplementedEventTypeWhenHandleEventThenDebug
|
||||
output = testing::internal::GetCapturedStdout();
|
||||
expectedOutput = std::string("DRM_XE_EUDEBUG_IOCTL_READ_EVENT type: UNHANDLED ") + std::to_string(pagefaultEvent.type) + " flags = 3 len = 2\n";
|
||||
EXPECT_NE(std::string::npos, output.find(expectedOutput.c_str()));
|
||||
|
||||
NEO::EuDebugEvent execQueuePlacementsEvent{};
|
||||
execQueuePlacementsEvent.len = 4;
|
||||
execQueuePlacementsEvent.type = static_cast<uint16_t>(NEO::EuDebugParam::eventTypeExecQueuePlacements);
|
||||
execQueuePlacementsEvent.flags = 5;
|
||||
|
||||
::testing::internal::CaptureStdout();
|
||||
session->handleEvent(&execQueuePlacementsEvent);
|
||||
|
||||
output = testing::internal::GetCapturedStdout();
|
||||
expectedOutput = std::string("DRM_XE_EUDEBUG_IOCTL_READ_EVENT type: UNHANDLED ") + std::to_string(execQueuePlacementsEvent.type) + " flags = 5 len = 4\n";
|
||||
EXPECT_NE(std::string::npos, output.find(expectedOutput.c_str())) << output;
|
||||
}
|
||||
|
||||
TEST(DebugSessionLinuxXeTest, GivenRootDebugSessionWhenCreateTileSessionCalledThenSessionIsNotCreated) {
|
||||
|
||||
@@ -32,6 +32,8 @@ uint32_t EuDebugInterfacePrelim::getParamValue(EuDebugParam param) const {
|
||||
return PRELIM_DRM_XE_EUDEBUG_EVENT_EU_ATTENTION;
|
||||
case EuDebugParam::eventTypeExecQueue:
|
||||
return PRELIM_DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE;
|
||||
case EuDebugParam::eventTypeExecQueuePlacements:
|
||||
return PRELIM_DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE_PLACEMENTS;
|
||||
case EuDebugParam::eventTypeMetadata:
|
||||
return PRELIM_DRM_XE_EUDEBUG_EVENT_METADATA;
|
||||
case EuDebugParam::eventTypeOpen:
|
||||
|
||||
@@ -31,6 +31,8 @@ uint32_t EuDebugInterfaceUpstream::getParamValue(EuDebugParam param) const {
|
||||
return DRM_XE_EUDEBUG_EVENT_EU_ATTENTION;
|
||||
case EuDebugParam::eventTypeExecQueue:
|
||||
return DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE;
|
||||
case EuDebugParam::eventTypeExecQueuePlacements:
|
||||
return DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE_PLACEMENTS;
|
||||
case EuDebugParam::eventTypeMetadata:
|
||||
return DRM_XE_EUDEBUG_EVENT_METADATA;
|
||||
case EuDebugParam::eventTypeOpen:
|
||||
|
||||
@@ -163,6 +163,7 @@ enum class EuDebugParam {
|
||||
eventBitStateChange,
|
||||
eventTypeEuAttention = 20,
|
||||
eventTypeExecQueue,
|
||||
eventTypeExecQueuePlacements,
|
||||
eventTypeMetadata,
|
||||
eventTypeOpen,
|
||||
eventTypePagefault,
|
||||
|
||||
@@ -28,6 +28,7 @@ uint32_t MockEuDebugInterface::getParamValue(EuDebugParam param) const {
|
||||
RETURN_AS_IS(EuDebugParam::execQueueSetPropertyEuDebug);
|
||||
RETURN_AS_IS(EuDebugParam::eventTypeEuAttention);
|
||||
RETURN_AS_IS(EuDebugParam::eventTypeExecQueue);
|
||||
RETURN_AS_IS(EuDebugParam::eventTypeExecQueuePlacements);
|
||||
RETURN_AS_IS(EuDebugParam::eventTypeMetadata);
|
||||
RETURN_AS_IS(EuDebugParam::eventTypeOpen);
|
||||
RETURN_AS_IS(EuDebugParam::eventTypePagefault);
|
||||
|
||||
@@ -23,6 +23,7 @@ TEST(EuDebugInterfacePrelimTest, whenGettingParamValueThenCorrectValueIsReturned
|
||||
EXPECT_EQ(static_cast<uint32_t>(PRELIM_DRM_XE_EUDEBUG_EVENT_STATE_CHANGE), euDebugInterface.getParamValue(EuDebugParam::eventBitStateChange));
|
||||
EXPECT_EQ(static_cast<uint32_t>(PRELIM_DRM_XE_EUDEBUG_EVENT_EU_ATTENTION), euDebugInterface.getParamValue(EuDebugParam::eventTypeEuAttention));
|
||||
EXPECT_EQ(static_cast<uint32_t>(PRELIM_DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE), euDebugInterface.getParamValue(EuDebugParam::eventTypeExecQueue));
|
||||
EXPECT_EQ(static_cast<uint32_t>(PRELIM_DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE_PLACEMENTS), euDebugInterface.getParamValue(EuDebugParam::eventTypeExecQueuePlacements));
|
||||
EXPECT_EQ(static_cast<uint32_t>(PRELIM_DRM_XE_EUDEBUG_EVENT_METADATA), euDebugInterface.getParamValue(EuDebugParam::eventTypeMetadata));
|
||||
EXPECT_EQ(static_cast<uint32_t>(PRELIM_DRM_XE_EUDEBUG_EVENT_OPEN), euDebugInterface.getParamValue(EuDebugParam::eventTypeOpen));
|
||||
EXPECT_EQ(static_cast<uint32_t>(PRELIM_DRM_XE_EUDEBUG_EVENT_PAGEFAULT), euDebugInterface.getParamValue(EuDebugParam::eventTypePagefault));
|
||||
|
||||
@@ -24,6 +24,7 @@ TEST(EuDebugInterfaceUpstreamTest, whenGettingParamValueThenCorrectValueIsReturn
|
||||
EXPECT_EQ(static_cast<uint32_t>(DRM_XE_EUDEBUG_EVENT_STATE_CHANGE), euDebugInterface.getParamValue(EuDebugParam::eventBitStateChange));
|
||||
EXPECT_EQ(static_cast<uint32_t>(DRM_XE_EUDEBUG_EVENT_EU_ATTENTION), euDebugInterface.getParamValue(EuDebugParam::eventTypeEuAttention));
|
||||
EXPECT_EQ(static_cast<uint32_t>(DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE), euDebugInterface.getParamValue(EuDebugParam::eventTypeExecQueue));
|
||||
EXPECT_EQ(static_cast<uint32_t>(DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE_PLACEMENTS), euDebugInterface.getParamValue(EuDebugParam::eventTypeExecQueuePlacements));
|
||||
EXPECT_EQ(static_cast<uint32_t>(DRM_XE_EUDEBUG_EVENT_METADATA), euDebugInterface.getParamValue(EuDebugParam::eventTypeMetadata));
|
||||
EXPECT_EQ(static_cast<uint32_t>(DRM_XE_EUDEBUG_EVENT_OPEN), euDebugInterface.getParamValue(EuDebugParam::eventTypeOpen));
|
||||
EXPECT_EQ(static_cast<uint32_t>(DRM_XE_EUDEBUG_EVENT_PAGEFAULT), euDebugInterface.getParamValue(EuDebugParam::eventTypePagefault));
|
||||
|
||||
Reference in New Issue
Block a user