[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <966758fd-53ab-c49b-e045-24ab1d12c0d9@amd.com>
Date: Wed, 7 Jun 2023 11:20:55 +0200
From: Christian König <christian.koenig@....com>
To: Qiang Yu <yuq825@...il.com>, Vasily Khoruzhick <anarsoul@...il.com>
Cc: Erico Nunes <nunes.erico@...il.com>,
dri-devel@...ts.freedesktop.org, lima@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, luben.tuikov@....com,
daniel@...ll.ch, airlied@...il.com
Subject: Re: [Lima] [PATCH] drm/lima: fix sched context destroy
Acked-by: Christian König <christian.koenig@....com>
While you are at it: It's beneficial for drivers to implement the flush
callback on the file descriptor.
This way you can still send a SIGKILL when a terminating application
waits for the entity to be flushed out to the hardware and all the
pending jobs are canceled.
Regards,
Christian.
Am 07.06.23 um 06:04 schrieb Qiang Yu:
> Reviewed-by: Qiang Yu <yuq825@...il.com>
>
> Applied to drm-misc-fixes.
>
> On Wed, Jun 7, 2023 at 9:18 AM Vasily Khoruzhick <anarsoul@...il.com> wrote:
>> On Tue, Jun 6, 2023 at 7:33 AM Erico Nunes <nunes.erico@...il.com> 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@...il.com>
>> Reviewed-by: Vasily Khoruzhick <anarsoul@...il.com>
>>
>>> ---
>>> 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
>>>
Powered by blists - more mailing lists