OSDN Git Service

drm/i915/execlists: Convert recursive defer_request() into iterative
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 25 Jun 2019 13:01:09 +0000 (14:01 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 25 Jun 2019 19:17:22 +0000 (20:17 +0100)
commit07bfe6bf1052f074093cdea95d6041f48b994c4b
treec184d7d430b3ec222e91e2773290c722088844fa
parent9a6a644096a1066c2ef5c47db0db79ac72af7967
drm/i915/execlists: Convert recursive defer_request() into iterative

As this engine owns the lock around rq->sched.link (for those waiters
submitted to this engine), we can use that link as an element in a local
list. We can thus replace the recursive algorithm with an iterative walk
over the ordered list of waiters.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190625130128.11009-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c