SWDEV-368741 - Check for uninstalled hsa-amd-aqlprofile to avoid Segmentation Fault

Change-Id: I0c0c7a2ea7c35237332ddd7c2461e4d9ff8e2f1c
This commit is contained in:
cadolphe authored and Maneesh Gupta committed 2024-02-05 05:08:11 +00:00
1 parent 9fd8b4d3f1
commit 243b86dd23
2 files changed
+8 -1

No files matched your search

@@ -760,8 +760,10 @@ void OCLPerfCounters::run(void) {
_wrapper->clSetDeviceClockModeAMD(global_device, setClockModeInput,
&setClockModeOutput);
_wrapper->clGetPerfCounterInfoAMD(perfCounter, CL_PERFCOUNTER_DATA,
error_ = _wrapper->clGetPerfCounterInfoAMD(perfCounter, CL_PERFCOUNTER_DATA,
sizeof(cl_ulong), &result, NULL);
CHECK_RESULT(error_ != CL_SUCCESS,
"clGetPerfCounterInfoAMD failed (Hint (Linux): install hsa-amd-aqlprofile)\n");
err = _wrapper->clReleasePerfCounterAMD(perfCounter);
CHECK_RESULT(err != CL_SUCCESS, "Release PerfCounter failed\n");
+5
View File
@@ -3636,6 +3636,11 @@ void VirtualGPU::submitPerfCounter(amd::PerfCounterCommand& vcmd) {
// one to get the profile object
amd::PerfCounter* amdCounter = static_cast<amd::PerfCounter*>(counters[0]);
PerfCounter* counter = static_cast<PerfCounter*>(amdCounter->getDeviceCounter());
if (counter == nullptr) {
LogError("Invalid Performance Counter");
vcmd.setStatus(CL_INVALID_OPERATION);
return;
}
PerfCounterProfile* profileRef = counter->profileRef();
// create the AQL packet for stop profiling