-
- Downloads
drm/amdkfd: Run restore_workers on freezable WQs
Make restore workers freezable so we don't have to explicitly flush them in suspend and GPU reset code paths, and we don't accidentally try to restore BOs while the GPU is suspended. Not having to flush restore_work also helps avoid lock/fence dependencies in the GPU reset case where we're not allowed to wait for fences. A side effect of this is, that we can now have multiple concurrent threads trying to signal the same eviction fence. Rework eviction fence signaling and replacement to account for that. The GPU reset path can no longer rely on restore_process_worker to resume queues because evict/restore workers can run independently of it. Instead call a new restore_process_helper directly. This is an RFC and request for testing. v2: - Reworked eviction fence signaling - Introduced restore_process_helper v3: - Handle unsignaled eviction fences in restore_process_bos Signed-off-by:Felix Kuehling <Felix.Kuehling@amd.com> Acked-by:
Christian König <christian.koenig@amd.com> Tested-by:
Emily Deng <Emily.Deng@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c 49 additions, 19 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
- drivers/gpu/drm/amd/amdkfd/kfd_process.c 53 additions, 34 deletionsdrivers/gpu/drm/amd/amdkfd/kfd_process.c
- drivers/gpu/drm/amd/amdkfd/kfd_svm.c 2 additions, 2 deletionsdrivers/gpu/drm/amd/amdkfd/kfd_svm.c
-
mentioned in commit a596a7f9
-
mentioned in commit 7e38ccb5
-
mentioned in commit 9d9ddc80
-
mentioned in commit 84b947d2
-
mentioned in commit 4c11091c
-
mentioned in commit 3c859f1f
-
mentioned in commit e26305f3
-
mentioned in commit 37865e02
-
mentioned in commit f989eccc
-
mentioned in commit ca83ddad
-
mentioned in commit 4d037836
-
mentioned in commit 5fa43628
-
mentioned in commit d7d7b947