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.
이 커밋은 다음에 포함됨:
Benjamin Welton 작성하고 Yat Sin, David가 2025-03-13 11:32:16 -04:00를 커밋함
1 부모 42f79776cd
커밋 d2a89a467b
1 파일이 변경됨
+7 -7
+7 -7
파일 보기
@@ -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;
}
};