Skip to contentSkip to conversation

Patch "drm/i915: Check for timeout completion when waiting for the rq to submitted" has been added to the 4.10-stable tree

PATCH [email protected] 1 participant 1 message Mar 12, 2017

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: Check for timeout completion when waiting for the rq to submitted

to the 4.10-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-check-for-timeout-completion-when-waiting-for-the-rq-to-submitted.patch
and it can be found in the queue-4.10 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 44a027058b24541cc7ec499e6fb91db4b130648a Mon Sep 17 00:00:00 2001

From: Chris Wilson <[email protected]>
Date: Wed, 8 Feb 2017 18:12:38 +0000
Subject: drm/i915: Check for timeout completion when waiting for the rq to submitted

From: Chris Wilson <[email protected]>

commit 44a027058b24541cc7ec499e6fb91db4b130648a upstream.

We first wait for a request to be submitted to hw and assigned a seqno, before we can wait for the hw to signal completion (otherwise we don't know the hw id we need to wait upon). Whilst waiting for the request to be submitted, we may exceed the user's timeout and need to propagate the error back.

v2: Make ETIME into an error from wait_for_execute for consistent exit handling.

Fixes 4680816be336 ("drm/i915: Wait first for submission, before waiting for request completion")

Testcase: igt/gem_wait/basic-await

Cc Tvrtko Ursulin <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc <[email protected]> # v4.10-rc1+
(cherry picked from commit 969bb72cbfd906d347cf76dc9b8c8dbaf83ba27a)
---
 drivers/gpu/drm/i915/i915_gem_request.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/i915_gem_request.c +6 -1
@@ -1011,8 +1011,13 @@ __i915_request_wait_for_execute(struct d
 			break;
 		}
 
+		if (!timeout) {
+			timeout = -ETIME;
+			break;
+		}
+
 		timeout = io_schedule_timeout(timeout);
-	} while (timeout);
+	} while (1);
 	finish_wait(&request->execute.wait, &wait);
 
 	if (flags & I915_WAIT_LOCKED)

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

queue-4.10/drm-i915-recreate-internal-objects-with-single-page-segments-if-dmar-fails.patch queue-4.10/drm-cancel-drm_fb_helper_dirty_work-on-unload.patch queue-4.10/drm-i915-gvt-disable-access-to-stolen-memory-as-a-guest.patch queue-4.10/drm-i915-check-for-timeout-completion-when-waiting-for-the-rq-to-submitted.patch queue-4.10/drm-cancel-drm_fb_helper_resume_work-on-unload.patch queue-4.10/drm-i915-pass-timeout-0-on-to-i915_gem_object_wait_fence.patch