Re: [Lima] [PATCH] drm/lima: fix sched context destroy

From: Vasily Khoruzhick
Date: Tue Jun 06 2023 - 21:18:52 EST


On Tue, Jun 6, 2023 at 7:33 AM Erico Nunes <nunes.erico@xxxxxxxxx> wrote:
>
> The drm sched entity must be flushed before finishing, to account for
> jobs potentially still in flight at that time.
> Lima did not do this flush until now, so switch the destroy call to the
> drm_sched_entity_destroy() wrapper which will take care of that.
>
> This fixes a regression on lima which started since the rework in
> commit 2fdb8a8f07c2 ("drm/scheduler: rework entity flush, kill and fini")
> where some specific types of applications may hang indefinitely.
>
> Fixes: 2fdb8a8f07c2 ("drm/scheduler: rework entity flush, kill and fini")
> Signed-off-by: Erico Nunes <nunes.erico@xxxxxxxxx>

Reviewed-by: Vasily Khoruzhick <anarsoul@xxxxxxxxx>

> ---
> drivers/gpu/drm/lima/lima_sched.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/lima/lima_sched.c b/drivers/gpu/drm/lima/lima_sched.c
> index ff003403fbbc..ffd91a5ee299 100644
> --- a/drivers/gpu/drm/lima/lima_sched.c
> +++ b/drivers/gpu/drm/lima/lima_sched.c
> @@ -165,7 +165,7 @@ int lima_sched_context_init(struct lima_sched_pipe *pipe,
> void lima_sched_context_fini(struct lima_sched_pipe *pipe,
> struct lima_sched_context *context)
> {
> - drm_sched_entity_fini(&context->base);
> + drm_sched_entity_destroy(&context->base);
> }
>
> struct dma_fence *lima_sched_context_queue_task(struct lima_sched_task *task)
> --
> 2.40.1
>