Skip to contentSkip to conversation

Patch "drm/i915: Don't skip request retirement if the active list is empty" has been added to the 4.0-stable tree

PATCH [email protected] 1 participant 1 message Jun 19, 2015

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

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

to the 4.0-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
drm-i915-don-t-skip-request-retirement-if-the-active-list-is-empty.patch
and it can be found in the queue-4.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 0aedb1626566efd72b369c01992ee7413c82a0c5 Mon Sep 17 00:00:00 2001

From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <[email protected]>
Date: Thu, 28 May 2015 18:32:36 +0300
Subject: drm/i915: Don't skip request retirement if the active list is empty
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <[email protected]>

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.

---
 drivers/gpu/drm/i915/i915_gem.c |    3 ---
 1 file changed, 3 deletions(-)
drivers/gpu/drm/i915/i915_gem.c +0 -3
@@ -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.

Patches currently in stable-queue which might be from [email protected] are

queue-4.0/drm-i915-fix-ddc-probe-for-passive-adapters.patch queue-4.0/drm-i915-don-t-skip-request-retirement-if-the-active-list-is-empty.patch --
To unsubscribe from this list: send the line "unsubscribe stable" in