rocr: Reset event_age when signals move

Resets event_age when signals move. Prior to this PR, event_age
can become unaligned with hsa_event, causing hangs if the event_age
exceeds the true hsa_event age.
This commit is contained in:
Benjamin Welton
2025-03-06 20:52:54 +00:00
committed by Yat Sin, David
parent 42f79776cd
commit d2a89a467b
+7 -7
View File
@@ -1582,13 +1582,13 @@ void Runtime::AsyncEventsLoop(void* _eventsInfo) {
if (hsa_events.size() <= unique_evts) {
hsa_events.resize(unique_evts + 10);
event_age.resize(unique_evts + 10);
}
hsa_events[unique_evts] = hsa_event;
if (init_age) {
event_age[unique_evts] = runtime_singleton_->KfdVersion().supports_event_age ? 1 : 0;
}
unique_evts++;
return true;
}
if (init_age || hsa_events[unique_evts] != hsa_event ) {
event_age[unique_evts] = runtime_singleton_->KfdVersion().supports_event_age ? 1 : 0;
}
hsa_events[unique_evts] = hsa_event;
unique_evts++;
return true;
}
};