Comment # 7 on bug 101294 from
The bisected commit only uncovers the existing deadlock scenario.

Summary of the issue.

amdgpu_bo_create
-> pb_cache_reclaim_buffer (lock pb_cache::mutex)
-> pb_cache_is_buffer_compat
-> amdgpu_bo_wait (lock bo_fence_lock) - DEADLOCK

pb_reference
-> pb_destroy
-> amdgpu_bo_destroy_or_cache
-> pb_cache_add_buffer (lock::pb_cache::mutex) - DEADLOCK

amdgpu_cs_flush (lock bo_fence_lock)
-> amdgpu_add_fence_dependency (loop-wait for submission_in_progress) -
DEADLOCK


It looks the best way to prevent this deadlock is to unify pb_cache::mutex and
bo_fence_lock under one lock, that is, one of them has to go.


You are receiving this mail because: