From 39587efda62b94375f8b75f890df1491e35741a7 Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 6 Nov 2019 19:47:10 -0500
Subject: [PATCH] P4 to Git Change 2026174 by eshcherb@evgeny-hip on 2019/11/06
19:37:26
SWDEV-197289 - tracing callbacks call fix
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_prof_api.h#5 edit
---
hipamd/api/hip/hip_prof_api.h | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/hipamd/api/hip/hip_prof_api.h b/hipamd/api/hip/hip_prof_api.h
index 1d405dc249..9d6db95ba5 100644
--- a/hipamd/api/hip/hip_prof_api.h
+++ b/hipamd/api/hip/hip_prof_api.h
@@ -189,18 +189,23 @@ class api_callbacks_spawner_t {
void call() {
hip_api_callback_t fun = entry(cid_).fun;
void* arg = entry(cid_).arg;
- if (fun != NULL) fun(HIP_DOMAIN_ID, cid_, api_data_, arg);
+ if (fun != NULL) {
+ fun(HIP_DOMAIN_ID, cid_, api_data_, arg);
+ api_data_->phase = ACTIVITY_API_PHASE_EXIT;
+ }
}
~api_callbacks_spawner_t() {
- if (api_data_ == NULL) return;
+ if (!is_enabled()) return;
- hip_act_callback_t act = entry(cid_).act;
- void* a_arg = entry(cid_).a_arg;
- hip_api_callback_t fun = entry(cid_).fun;
- void* arg = entry(cid_).arg;
- if (act != NULL) act(cid_, NULL, api_data_, a_arg);
- if (fun != NULL) fun(HIP_DOMAIN_ID, cid_, api_data_, arg);
+ if (api_data_ != NULL) {
+ hip_api_callback_t fun = entry(cid_).fun;
+ void* arg = entry(cid_).arg;
+ hip_act_callback_t act = entry(cid_).act;
+ void* a_arg = entry(cid_).a_arg;
+ if (fun != NULL) fun(HIP_DOMAIN_ID, cid_, api_data_, arg);
+ if (act != NULL) act(cid_, NULL, NULL, a_arg);
+ }
callbacks_table.sem_release(cid_);
}