mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 22:43:00 +08:00
L0Debug refactor - move eventsToAck out from ClientConnection
- events to ack are unrelated to client handle Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
869768a01a
commit
3a2d3b9274
@@ -1400,8 +1400,8 @@ ze_result_t DebugSessionLinux::accessDefaultMemForThreadAll(const zet_debug_memo
|
||||
|
||||
ze_result_t DebugSessionLinux::acknowledgeEvent(const zet_debug_event_t *event) {
|
||||
std::unique_lock<std::mutex> lock(asyncThreadMutex);
|
||||
for (size_t i = 0; i < clientHandleToConnection[clientHandle]->eventsToAck.size(); i++) {
|
||||
if (apiEventCompare(*event, clientHandleToConnection[clientHandle]->eventsToAck[i].first)) {
|
||||
for (size_t i = 0; i < eventsToAck.size(); i++) {
|
||||
if (apiEventCompare(*event, eventsToAck[i].first)) {
|
||||
|
||||
bool perKernelIsaAcked = false;
|
||||
if (event->type == ZET_DEBUG_EVENT_TYPE_MODULE_LOAD) {
|
||||
@@ -1429,13 +1429,13 @@ ze_result_t DebugSessionLinux::acknowledgeEvent(const zet_debug_event_t *event)
|
||||
}
|
||||
|
||||
if (!perKernelIsaAcked) {
|
||||
auto eventToAck = clientHandleToConnection[clientHandle]->eventsToAck[i].second;
|
||||
auto eventToAck = eventsToAck[i].second;
|
||||
auto ret = ioctl(PRELIM_I915_DEBUG_IOCTL_ACK_EVENT, &eventToAck);
|
||||
PRINT_DEBUGGER_INFO_LOG("PRELIM_I915_DEBUG_IOCTL_ACK_EVENT seqno = %llu, ret = %d errno = %d\n", (uint64_t)eventToAck.seqno, ret, ret != 0 ? errno : 0);
|
||||
}
|
||||
|
||||
auto iter = clientHandleToConnection[clientHandle]->eventsToAck.begin() + i;
|
||||
clientHandleToConnection[clientHandle]->eventsToAck.erase(iter);
|
||||
auto iter = eventsToAck.begin() + i;
|
||||
eventsToAck.erase(iter);
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -145,8 +145,6 @@ struct DebugSessionLinux : DebugSessionImp {
|
||||
uint64_t contextStateSaveAreaGpuVa = 0;
|
||||
uint64_t stateBaseAreaGpuVa = 0;
|
||||
|
||||
std::vector<std::pair<zet_debug_event_t, prelim_drm_i915_debug_event_ack>> eventsToAck;
|
||||
|
||||
std::unordered_map<uint64_t, Module> uuidToModule;
|
||||
};
|
||||
|
||||
@@ -182,7 +180,7 @@ struct DebugSessionLinux : DebugSessionImp {
|
||||
eventToAck.flags = 0;
|
||||
debugEvent.flags = ZET_DEBUG_EVENT_FLAG_NEED_ACK;
|
||||
|
||||
clientHandleToConnection[clientHandle]->eventsToAck.push_back(
|
||||
eventsToAck.push_back(
|
||||
std::pair<zet_debug_event_t, prelim_drm_i915_debug_event_ack>(debugEvent, eventToAck));
|
||||
}
|
||||
|
||||
@@ -246,6 +244,7 @@ struct DebugSessionLinux : DebugSessionImp {
|
||||
std::mutex internalEventThreadMutex;
|
||||
std::condition_variable internalEventCondition;
|
||||
std::queue<std::unique_ptr<uint64_t[]>> internalEventQueue;
|
||||
std::vector<std::pair<zet_debug_event_t, prelim_drm_i915_debug_event_ack>> eventsToAck;
|
||||
|
||||
int fd = 0;
|
||||
int ioctl(unsigned long request, void *arg);
|
||||
|
||||
Reference in New Issue
Block a user