Re: [PATCH 4.0 077/105] drm/i915: Dont skip request retirement if the active list is empty

From: Jani Nikula
Date: Tue Jun 23 2015 - 03:26:55 EST


On Fri, 19 Jun 2015, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> 4.0-stable review patch. If anyone has any objections, please let me know.

The commit to be backported is already reverted in upstream, and I just
got an email from you backporting the revert as well... would be best to
*not* backport either of these:

commit 0aedb1626566efd72b369c01992ee7413c82a0c5
Author: Ville SyrjÃlà <ville.syrjala@xxxxxxxxxxxxxxx>
Date: Thu May 28 18:32:36 2015 +0300

drm/i915: Don't skip request retirement if the active list is empty

commit 245ec9d85696c3e539b23e210f248698b478379c
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Mon Jun 15 12:59:37 2015 +0300

Revert "drm/i915: Don't skip request retirement if the active list is empty"

I only marked the revert cc: stable because the original was too.


BR,
Jani.



>
> ------------------
>
> From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@xxxxxxxxxxxxxxx>
>
> commit 0aedb1626566efd72b369c01992ee7413c82a0c5 upstream.
>
> Apparently we can have requests even if though the active list is empty,
> so do the request retirement regardless of whether there's anything
> on the active list.
>
> The way it happened here is that during suspend intel_ring_idle()
> notices the olr hanging around and then proceeds to get rid of it by
> adding a request. However since there was nothing on the active lists
> i915_gem_retire_requests() didn't clean those up, and so the idle work
> never runs, and we leave the GPU "busy" during suspend resulting in a
> WARN later.
>
> Signed-off-by: Ville SyrjÃlà <ville.syrjala@xxxxxxxxxxxxxxx>
> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> ---
> drivers/gpu/drm/i915/i915_gem.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2732,9 +2732,6 @@ void i915_gem_reset(struct drm_device *d
> void
> i915_gem_retire_requests_ring(struct intel_engine_cs *ring)
> {
> - if (list_empty(&ring->request_list))
> - return;
> -
> WARN_ON(i915_verify_lists(ring->dev));
>
> /* Retire requests first as we use it above for the early return.
>
>

--
Jani Nikula, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at http://www.tux.org/lkml/