[Lima] [PATCH] drm/lima: fix sched context destroy
Christian König
christian.koenig at amd.com
Wed Jun 7 09:20:55 UTC 2023
Acked-by: Christian König <christian.koenig at amd.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 at gmail.com>
>
> Applied to drm-misc-fixes.
>
> On Wed, Jun 7, 2023 at 9:18 AM Vasily Khoruzhick <anarsoul at gmail.com> wrote:
>> On Tue, Jun 6, 2023 at 7:33 AM Erico Nunes <nunes.erico at gmail.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 at gmail.com>
>> Reviewed-by: Vasily Khoruzhick <anarsoul at gmail.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
>>>
More information about the lima
mailing list