mirror of
https://github.com/intel/compute-runtime.git
synced 2025-11-10 05:49:51 +08:00
Fix tracer disable re_enable bug
Related-To: LOCI-2395 Signed-off-by: davidoli <david.olien@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
c3eb876943
commit
700aecb384
@@ -172,7 +172,7 @@ size_t APITracerContextImp::testAndFreeRetiredTracers() {
|
||||
return this->retiringTracerArrayList.size();
|
||||
}
|
||||
|
||||
int APITracerContextImp::updateTracerArrays() {
|
||||
size_t APITracerContextImp::updateTracerArrays() {
|
||||
tracer_array_t *newTracerArray;
|
||||
size_t newTracerArrayCount = this->enabledTracerImpList.size();
|
||||
|
||||
@@ -211,9 +211,7 @@ int APITracerContextImp::updateTracerArrays() {
|
||||
// from this thread to the tracing threads.
|
||||
//
|
||||
activeTracerArray.store(newTracerArray, std::memory_order_release);
|
||||
testAndFreeRetiredTracers();
|
||||
|
||||
return 0;
|
||||
return testAndFreeRetiredTracers();
|
||||
}
|
||||
|
||||
ze_result_t APITracerContextImp::enableTracingImp(struct APITracerImp *tracerImp, ze_bool_t enable) {
|
||||
@@ -233,13 +231,14 @@ ze_result_t APITracerContextImp::enableTracingImp(struct APITracerImp *tracerImp
|
||||
if (!enable) {
|
||||
enabledTracerImpList.remove(tracerImp);
|
||||
tracerImp->tracingState = disabledWaitingState;
|
||||
updateTracerArrays();
|
||||
if (updateTracerArrays() == 0)
|
||||
tracerImp->tracingState = disabledState;
|
||||
}
|
||||
result = ZE_RESULT_SUCCESS;
|
||||
break;
|
||||
|
||||
case disabledWaitingState:
|
||||
result = ZE_RESULT_ERROR_UNINITIALIZED;
|
||||
result = ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE;
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -273,7 +272,7 @@ ze_result_t APITracerContextImp::finalizeDisableImpTracingWait(struct APITracerI
|
||||
break;
|
||||
|
||||
case enabledState:
|
||||
result = ZE_RESULT_ERROR_UNINITIALIZED;
|
||||
result = ZE_RESULT_ERROR_HANDLE_OBJECT_IN_USE;
|
||||
break;
|
||||
|
||||
case disabledWaitingState:
|
||||
|
||||
@@ -127,7 +127,7 @@ struct APITracerContextImp : APITracerContext {
|
||||
|
||||
ze_bool_t testForTracerArrayReferences(tracer_array_t *tracerArray);
|
||||
size_t testAndFreeRetiredTracers();
|
||||
int updateTracerArrays();
|
||||
size_t updateTracerArrays();
|
||||
|
||||
std::list<ThreadPrivateTracerData *> threadTracerDataList;
|
||||
std::mutex threadTracerDataListMutex;
|
||||
|
||||
Reference in New Issue
Block a user