OSDN Git Service

drm/etnaviv: bring back progress check in job timeout handler
authorLucas Stach <l.stach@pengutronix.de>
Wed, 27 Jun 2018 13:58:13 +0000 (15:58 +0200)
committerLucas Stach <l.stach@pengutronix.de>
Thu, 5 Jul 2018 12:16:20 +0000 (14:16 +0200)
commit2c83a726d6fbb5d130d8f2edd82a258adb675ac3
tree13bdac98cf9037a544e3e7650f2578edcfddd244
parentbf6ba3aeb2962e5ee4a78e7535af579ecba630bb
drm/etnaviv: bring back progress check in job timeout handler

When the hangcheck handler was replaced by the DRM scheduler timeout
handling we dropped the forward progress check, as this might allow
clients to hog the GPU for a long time with a big job.

It turns out that even reasonably well behaved clients like the
Armada Xorg driver occasionally trip over the 500ms timeout. Bring
back the forward progress check to get rid of the userspace regression.

We would still like to fix userspace to submit smaller batches
if possible, but that is for another day.

Cc: <stable@vger.kernel.org>
Fixes: 6d7a20c07760 (drm/etnaviv: replace hangcheck with scheduler timeout)
Reported-by: Russell King <linux@armlinux.org.uk>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/etnaviv/etnaviv_gpu.h
drivers/gpu/drm/etnaviv/etnaviv_sched.c