+ dri-devel for scheduler

On Tue, May 9, 2023 at 6:23 AM ZhenGuo Yin <zhenguo....@amd.com> wrote:
>
> [Why]
> drm_sched_entity_add_dependency_cb ignores the scheduled fence and return 
> false.
> If entity's dependency is a schedulerd error fence and drm_sched_stop is 
> called
> due to TDR, drm_sched_entity_pop_job will wait for the dependency infinitely.
>
> [How]
> Do not wait or ignore the scheduled error fence, add drm_sched_entity_wakeup
> callback for the dependency with scheduled error fence.
>
> Signed-off-by: ZhenGuo Yin <zhenguo....@amd.com>
> ---
>  drivers/gpu/drm/scheduler/sched_entity.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/scheduler/sched_entity.c 
> b/drivers/gpu/drm/scheduler/sched_entity.c
> index d3f4ada6a68e..96e173b0a6c6 100644
> --- a/drivers/gpu/drm/scheduler/sched_entity.c
> +++ b/drivers/gpu/drm/scheduler/sched_entity.c
> @@ -384,7 +384,7 @@ static bool drm_sched_entity_add_dependency_cb(struct 
> drm_sched_entity *entity)
>         }
>
>         s_fence = to_drm_sched_fence(fence);
> -       if (s_fence && s_fence->sched == sched &&
> +       if (!fence->error && s_fence && s_fence->sched == sched &&
>             !test_bit(DRM_SCHED_FENCE_DONT_PIPELINE, &fence->flags)) {
>
>                 /*
> --
> 2.35.1
>

Reply via email to