fix: modify vmBind event handling conditions

handleVmBind only if all the num_binds and num_extension events
and UFENCE events have arrived.

Related-To: NEO-11083
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
Jitendra Sharma
2024-04-08 15:14:55 +00:00
committed by Compute-Runtime-Automation
parent 89b3e7209d
commit 19130dda29
3 changed files with 33 additions and 19 deletions

View File

@@ -115,6 +115,7 @@ struct DebugSessionLinuxXe : DebugSessionLinux {
struct VmBindData {
uint64_t pendingNumBinds = 0;
drm_xe_eudebug_event_vm_bind vmBind;
bool uFenceReceived = false;
drm_xe_eudebug_event_vm_bind_ufence vmBindUfence;
std::unordered_map<VmBindOpSeqNo, VmBindOpData> vmBindOpMap;
};
@@ -132,6 +133,7 @@ struct DebugSessionLinuxXe : DebugSessionLinux {
std::unordered_map<VmBindOpSeqNo, VmBindSeqNo> vmBindIdentifierMap;
};
std::unordered_map<uint64_t, std::shared_ptr<ClientConnectionXe>> clientHandleToConnection;
bool canHandleVmBind(VmBindData &vmBindData) const;
void handleVmBind(VmBindData &vmBindData);
void handleVmBindWithoutUfence(VmBindData &vmBindData, VmBindOpData &vmBindOpData);