Messages in this thread | | | Subject | Re: [BUG] gpu: drm: amd: amdgpu: possible ABBA deadlock in amdgpu_set_power_dpm_force_performance_level() and amdgpu_debugfs_process_reg_op() | From | Jia-Ju Bai <> | Date | Thu, 9 Dec 2021 11:34:38 +0800 |
| |
Hello,
Could you please provide the feedback to my previous report? Thanks a lot :)
Best wishes, Jia-Ju Bai
On 2021/9/15 17:39, Jia-Ju Bai wrote: > Hello, > > My static analysis tool reports a possible ABBA deadlock in the amdgpu > driver in Linux 5.10: > > amdgpu_debugfs_process_reg_op() > mutex_lock(&adev->grbm_idx_mutex); --> Line 250 (Lock A) > mutex_lock(&adev->pm.mutex); --> Line 259 (Lock B) > > amdgpu_set_power_dpm_force_performance_level() > mutex_lock(&adev->pm.mutex); --> Line 381 (Lock B) > pp_dpm_force_performance_level() --> function pointer via > "amdgpu_dpm_force_performance_level()" > pp_dpm_en_umd_pstate() > amdgpu_device_ip_set_clockgating_state() > gfx_v7_0_set_clockgating_state() --> function pointer via > "funcs->set_clockgating_state()" > gfx_v7_0_enable_mgcg() > mutex_lock(&adev->grbm_idx_mutex); --> Line 3646 (Lock A) > mutex_lock(&adev->grbm_idx_mutex); --> Line 3697 (Lock A) > > When amdgpu_debugfs_process_reg_op() and > amdgpu_set_power_dpm_force_performance_level() are concurrently > executed, the deadlock can occur. > > I am not quite sure whether this possible deadlock is real and how to > fix it if it is real. > Any feedback would be appreciated, thanks :) > > Reported-by: TOTE Robot <oslab@tsinghua.edu.cn> > > > Best wishes, > Jia-Ju Bai
| |