projects
/
linux-2.6-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0127ab1
)
drm/amdgpu: avoid restore process run into dead loop.
author
gaba
<gaba@amd.com>
Fri, 3 Mar 2023 00:03:56 +0000
(19:03 -0500)
committer
Alex Deucher
<alexander.deucher@amd.com>
Mon, 10 Jul 2023 13:02:37 +0000
(09:02 -0400)
In restore process worker, pinned BO cause update PTE fail, then
the function re-schedule the restore_work. This will generate dead loop.
Signed-off-by: gaba <gaba@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index f61527b800e62970b03ea769c643486eefc6e7be..a7f314ddd17395159ec076788f5d2092eb621f25 100644
(file)
--- a/
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@
-2881,6
+2881,9
@@
int amdgpu_amdkfd_gpuvm_restore_process_bos(void *info, struct dma_fence **ef)
if (!attachment->is_mapped)
continue;
+ if (attachment->bo_va->base.bo->tbo.pin_count)
+ continue;
+
kfd_mem_dmaunmap_attachment(mem, attachment);
ret = update_gpuvm_pte(mem, attachment, &sync_obj);
if (ret) {