SWDEV-280773 - Additional logging for signals

Cleanup new lines in debug log

Change-Id: I6862c332eb9457b51e23cf4e9db9ba3f870d0c39
Этот коммит содержится в:
Saleel Kudchadker
2021-04-30 15:05:54 -07:00
родитель badfea2019
Коммит 42b8236f93
3 изменённых файлов: 21 добавлений и 13 удалений
+5 -5
Просмотреть файл
@@ -457,7 +457,7 @@ bool DmaBlitManager::copyBufferRect(device::Memory& srcMemory, device::Memory& d
// Copy memory line by line
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY,
"[%zx]!\t HSA Asycn Copy Rect wait_event=0x%zx, completion_signal=0x%zx\n",
"[%zx]!\t HSA Asycn Copy Rect wait_event=0x%zx, completion_signal=0x%zx",
std::this_thread::get_id(), (wait_event != nullptr) ? wait_event->handle : 0,
active.handle);
hsa_status_t status = hsa_amd_memory_async_copy_rect(&dstMem, &offset,
@@ -479,7 +479,7 @@ bool DmaBlitManager::copyBufferRect(device::Memory& srcMemory, device::Memory& d
// Copy memory line by line
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY,
"[%zx]!\t HSA Asycn Copy wait_event=0x%zx, completion_signal=0x%zx\n",
"[%zx]!\t HSA Asycn Copy wait_event=0x%zx, completion_signal=0x%zx",
std::this_thread::get_id(), (wait_event != nullptr) ? wait_event->handle : 0,
active.handle);
hsa_status_t status = hsa_amd_memory_async_copy(
@@ -668,7 +668,7 @@ bool DmaBlitManager::hsaCopy(const Memory& srcMemory, const Memory& dstMemory,
// Use SDMA to transfer the data
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY,
"[%zx]!\t HSA Asycn Copy wait_event=0x%zx, completion_signal=0x%zx\n",
"[%zx]!\t HSA Asycn Copy wait_event=0x%zx, completion_signal=0x%zx",
std::this_thread::get_id(), (wait_event != nullptr) ? wait_event->handle : 0,
active.handle);
@@ -726,7 +726,7 @@ bool DmaBlitManager::hsaCopyStaged(const_address hostSrc, address hostDst, size_
memcpy(hsaBuffer, hostSrc + offset, size);
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY,
"[%zx]!\t HSA Async Copy completion_signal=0x%zx\n",
"[%zx]!\t HSA Async Copy completion_signal=0x%zx",
std::this_thread::get_id(), active.handle);
status = hsa_amd_memory_async_copy(hostDst + offset, dev().getBackendDevice(), hsaBuffer,
srcAgent, size, 0, nullptr, active);
@@ -756,7 +756,7 @@ bool DmaBlitManager::hsaCopyStaged(const_address hostSrc, address hostDst, size_
// Copy data from Device to Host
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY,
"[%zx]!\t HSA Async Copy completion_signal=0x%zx\n",
"[%zx]!\t HSA Async Copy completion_signal=0x%zx",
std::this_thread::get_id(), active.handle);
status = hsa_amd_memory_async_copy(hsaBuffer, dstAgent, hostSrc + offset,
dev().getBackendDevice(), size, 0, nullptr, active);
+6 -6
Просмотреть файл
@@ -153,7 +153,7 @@ bool HsaAmdSignalHandler(hsa_signal_value_t value, void* arg) {
return false;
}
amd::ScopedLock sl(ts->gpu()->execution());
ClPrint(amd::LOG_INFO, amd::LOG_SIG, "Handler: value(%d), timestamp(%p), handle(%lx)\n",
ClPrint(amd::LOG_INFO, amd::LOG_SIG, "Handler: value(%d), timestamp(%p), handle(0x%lx)",
static_cast<uint32_t>(value), arg, ts->HwProfiling() ? ts->Signals()[0]->signal_.handle : 0);
// Update the batch, since signal is complete
@@ -347,7 +347,7 @@ hsa_signal_t VirtualGPU::HwQueueTracker::ActiveSignal(
if (HSA_STATUS_SUCCESS != result) {
LogError("hsa_amd_signal_async_handler() failed to set the handler!");
} else {
ClPrint(amd::LOG_INFO, amd::LOG_SIG, "Set Handler: handle(%lx), timestamp(%p)\n",
ClPrint(amd::LOG_INFO, amd::LOG_SIG, "Set Handler: handle(0x%lx), timestamp(%p)",
prof_signal->signal_.handle, prof_signal);
}
}
@@ -417,7 +417,7 @@ bool VirtualGPU::HwQueueTracker::CpuWaitForSignal(ProfilingSignal* signal) {
if (signal->ts_ != nullptr) {
signal->ts_->checkGpuTime();
} else {
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY, "[%zx]!\t Host wait on completion_signal=0x%zx\n",
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY, "[%zx]!\t Host wait on completion_signal=0x%zx",
std::this_thread::get_id(), signal->signal_.handle);
if (!WaitForSignal(signal->signal_)) {
LogPrintfError("Failed signal [0x%lx] wait", signal->signal_);
@@ -572,7 +572,7 @@ bool VirtualGPU::processMemObjects(const amd::Kernel& kernel, const_address para
const void* globalAddress = *reinterpret_cast<const void* const*>(params + desc.offset_);
ClPrint(amd::LOG_INFO, amd::LOG_KERN,
"!\targ%d: %s %s = ptr:%p obj:[%p-%p] threadId : %zx\n",
"!\targ%d: %s %s = ptr:%p obj:[%p-%p] threadId : %zx",
index, desc.typeName_.c_str(), desc.name_.c_str(),
globalAddress, gpuMem->getDeviceMemory(),
reinterpret_cast<address>(gpuMem->getDeviceMemory()) + mem->getSize(),
@@ -2178,7 +2178,7 @@ void VirtualGPU::submitStreamOperation(amd::StreamOperationCommand& cmd) {
// Use GPU Blit to write
bool result = blitMgr().fillBuffer(*memory, &value, sizeBytes, origin, size, entire, true);
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY, "Writting value: 0x%lx \n", value);
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY, "Writting value: 0x%lx", value);
if (!result) {
LogError("submitStreamOperation: Write failed!");
@@ -2526,7 +2526,7 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes, const
return false;
}
ClPrint(amd::LOG_INFO, amd::LOG_KERN, "[%zx]!\tShaderName : %s\n",
ClPrint(amd::LOG_INFO, amd::LOG_KERN, "[%zx]!\tShaderName : %s",
std::this_thread::get_id(), gpuKernel.name().c_str());
// Check if runtime has to setup hidden arguments
+10 -2
Просмотреть файл
@@ -187,7 +187,12 @@ class VirtualGPU : public device::VirtualDevice {
Timestamp* ts = nullptr, uint32_t queue_size = 0);
//! Wait for the curent active signal. Can idle the queue
bool WaitCurrent() { return CpuWaitForSignal(signal_list_[current_id_]); }
bool WaitCurrent() {
ProfilingSignal* signal = signal_list_[current_id_];
ClPrint(amd::LOG_DEBUG, amd::LOG_MISC, "[%zx]!\t WaitCurret completion_signal=0x%zx",
std::this_thread::get_id(), signal->signal_.handle);
return CpuWaitForSignal(signal);
}
//! Update current active engine
void SetActiveEngine(HwQueueEngine engine = HwQueueEngine::Compute) { engine_ = engine; }
@@ -211,7 +216,10 @@ class VirtualGPU : public device::VirtualDevice {
//! Wait for the next active signal
void WaitNext() {
size_t next = (current_id_ + 1) % signal_list_.size();
CpuWaitForSignal(signal_list_[next]);
ProfilingSignal* signal = signal_list_[next];
ClPrint(amd::LOG_DEBUG, amd::LOG_MISC, "[%zx]!\t WaitNext completion_signal=0x%zx",
std::this_thread::get_id(), signal->signal_.handle);
CpuWaitForSignal(signal);
}
//! Wait for the provided signal