SWDEV-521647 - Fix tracking of hw_event (#206)
- When a command may possibly have two packets(like device heap initializer), and if there is no signal on the main kernel packet the tracking was broken as it marked HW event of the command as the first packet signal. - Make sure if no completion signal is attached to the second packet then clear the HW event for the command.
이 커밋은 다음에 포함됨:
@@ -277,7 +277,6 @@ bool Event::notifyCmdQueue(bool cpu_wait) {
|
||||
notified_.clear();
|
||||
return false;
|
||||
}
|
||||
ClPrint(LOG_DEBUG, LOG_CMD, "Queue marker to command queue: %p", queue);
|
||||
command->enqueue();
|
||||
// Save notification, associated with the current event
|
||||
notify_event_ = command;
|
||||
@@ -290,7 +289,6 @@ bool Event::notifyCmdQueue(bool cpu_wait) {
|
||||
notified_.clear();
|
||||
return false;
|
||||
}
|
||||
ClPrint(LOG_DEBUG, LOG_CMD, "Queue marker to command queue: %p", queue);
|
||||
command->enqueue();
|
||||
command->release();
|
||||
}
|
||||
@@ -356,8 +354,8 @@ void Command::enqueue() {
|
||||
Agent::postEventCreate(as_cl(static_cast<Event*>(this)), type_);
|
||||
}
|
||||
|
||||
ClPrint(LOG_DEBUG, LOG_CMD, "Command (%s) enqueued: %p",
|
||||
amd::activity_prof::getOclCommandKindString(this->type()), this);
|
||||
ClPrint(LOG_DEBUG, LOG_CMD, "Command (%s) enqueued: %p to queue: %p",
|
||||
amd::activity_prof::getOclCommandKindString(this->type()), this, queue_);
|
||||
|
||||
// Direct dispatch logic below will submit the command immediately, but the command status
|
||||
// update will occur later after flush() with a wait
|
||||
|
||||
@@ -213,7 +213,7 @@ class Event : public RuntimeObject {
|
||||
//! Returns the callback for this event
|
||||
const CallBackEntry* Callback() const { return callbacks_; }
|
||||
|
||||
// Saves HW event, associated with the current command
|
||||
//! Saves HW event, associated with the current command
|
||||
void SetHwEvent(void* hw_event) { hw_event_ = hw_event; }
|
||||
|
||||
//! Returns HW event, associated with the current command
|
||||
|
||||
새 이슈에서 참조
사용자 차단