SWDEV-332522 - ipcEvents Avoid deadlock b/w streamWait & Event
Using device write to set 0 to signal while streamWaitEvent is checking the signal. Use app in SWDEV-314307 to verify this fix Requires vdi #668012 change to work Change-Id: Ie329a29cfaeb5d144b92cda36773646f913ca73d
Этот коммит содержится в:
коммит произвёл
Ajay GunaShekar
родитель
f1fb612774
Коммит
1abd0d6ecf
@@ -48,7 +48,7 @@ typedef struct ihipIpcEventShmem_s {
|
||||
std::atomic<int> owners_process_id;
|
||||
std::atomic<int> read_index;
|
||||
std::atomic<int> write_index;
|
||||
std::atomic<int> signal[IPC_SIGNALS_PER_EVENT];
|
||||
uint32_t signal[IPC_SIGNALS_PER_EVENT];
|
||||
} ihipIpcEventShmem_t;
|
||||
|
||||
class EventMarker : public amd::Marker {
|
||||
@@ -186,6 +186,7 @@ class IPCEvent : public Event {
|
||||
int owners = --ipc_evt_.ipc_shmem_->owners;
|
||||
// Make sure event is synchronized
|
||||
hipError_t status = synchronize();
|
||||
status = ihipHostUnregister(&ipc_evt_.ipc_shmem_->signal);
|
||||
if (!amd::Os::MemoryUnmapFile(ipc_evt_.ipc_shmem_, sizeof(hip::ihipIpcEventShmem_t))) {
|
||||
// print hipErrorInvalidHandle;
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user