OSDN Git Service

drm/etnaviv: replace hangcheck with scheduler timeout
authorLucas Stach <l.stach@pengutronix.de>
Wed, 6 Dec 2017 09:53:27 +0000 (10:53 +0100)
committerLucas Stach <l.stach@pengutronix.de>
Mon, 12 Feb 2018 15:31:01 +0000 (16:31 +0100)
commit6d7a20c0776036115c6e22bc673d645d524c4b8a
tree133109c3465b8db06286f8c7a24a24e6e291c3e7
parente0580254ae5c70f9fad3e24c20b92287ad817d8e
drm/etnaviv: replace hangcheck with scheduler timeout

This replaces the etnaviv internal hangcheck logic with the job timeout
handling provided by the DRM scheduler. This simplifies the driver further
and allows to replay jobs after a GPU reset, so only minimal state is lost.

This introduces a user-visible change in that we don't allow jobs to run
indefinitely as long as they make progress anymore, as this introduces
quality of service issues when multiple processes are using the GPU.
Userspace is now responsible to flush jobs in a way that the finish in a
reasonable time, where reasonable is currently defined as less than 500ms.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
drivers/gpu/drm/etnaviv/etnaviv_dump.c
drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
drivers/gpu/drm/etnaviv/etnaviv_gpu.c
drivers/gpu/drm/etnaviv/etnaviv_gpu.h
drivers/gpu/drm/etnaviv/etnaviv_sched.c