aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
diff options
context:
space:
mode:
authorAndrey Grodzovsky <[email protected]>2021-05-12 14:26:45 +0000
committerAndrey Grodzovsky <[email protected]>2021-05-20 03:50:28 +0000
commitc61cdbdbffc169dc7f1e6fe94dfffaf574fe672a (patch)
tree85afb04a7616d4cb2ba53226779f5cb2f3410ac6 /drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
parentdrm/amdgpu: Fix hang on device removal. (diff)
downloadkernel-c61cdbdbffc169dc7f1e6fe94dfffaf574fe672a.tar.gz
kernel-c61cdbdbffc169dc7f1e6fe94dfffaf574fe672a.zip
drm/scheduler: Fix hang when sched_entity released
Problem: If scheduler is already stopped by the time sched_entity is released and entity's job_queue not empty I encountred a hang in drm_sched_entity_flush. This is because drm_sched_entity_is_idle never becomes false. Fix: In drm_sched_fini detach all sched_entities from the scheduler's run queues. This will satisfy drm_sched_entity_is_idle. Also wakeup all those processes stuck in sched_entity flushing as the scheduler main thread which wakes them up is stopped by now. v2: Reverse order of drm_sched_rq_remove_entity and marking s_entity as stopped to prevent reinserion back to rq due to race. v3: Drop drm_sched_rq_remove_entity, only modify entity->stopped and check for it in drm_sched_entity_is_idle Signed-off-by: Andrey Grodzovsky <[email protected]> Reviewed-by: Christian König <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c')
0 files changed, 0 insertions, 0 deletions