linux/drivers/gpu/drm/amd
Philip Yang 0d8562e358 drm/amdkfd: KFD release_work possible circular locking
[ Upstream commit 1b9366c601 ]

If waiting for gpu reset done in KFD release_work, thers is WARNING:
possible circular locking dependency detected

  #2  kfd_create_process
        kfd_process_mutex
          flush kfd release work

  #1  kfd release work
        wait for amdgpu reset work

  #0  amdgpu_device_gpu_reset
        kgd2kfd_pre_reset
          kfd_process_mutex

  Possible unsafe locking scenario:

        CPU0                    CPU1
        ----                    ----
   lock((work_completion)(&p->release_work));
                  lock((wq_completion)kfd_process_wq);
                  lock((work_completion)(&p->release_work));
   lock((wq_completion)amdgpu-reset-dev);

To fix this, KFD create process move flush release work outside
kfd_process_mutex.

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-05-29 11:02:35 +02:00
..
acp drivers/gpu: Fix misalignment in comment block 2024-05-29 14:48:30 -04:00
amdgpu drm/amdgpu: Do not program AGP BAR regs under SRIOV in gfxhub_v1_0.c 2025-05-29 11:02:29 +02:00
amdkfd drm/amdkfd: KFD release_work possible circular locking 2025-05-29 11:02:35 +02:00
amdxcp drm/amd/amdxcp: Fix warnings 2024-05-08 15:17:05 -04:00
display drm/amd/display: Request HW cursor on DCN3.2 with SubVP 2025-05-29 11:02:30 +02:00
include drm/amd: Add some missing straps from NBIO 7.11.0 2024-12-09 10:41:14 +01:00
pm drm/amd/pm/powerplay/hwmgr/vega20_thermal: Prevent division by zero 2025-04-25 10:47:59 +02:00