drm/i915: Pull scheduling under standalone lock
Currently, the backend scheduling code abuses struct_mutex into order to have a global lock to manipulate a temporary list (without widespread allocation) and to protect against list modifications. This is an extraneous coupling to struct_mutex and further can not extend beyond the local device. Pull all the code that needs to be under the one true lock into i915_scheduler.c, and make it so. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181001144755.7978-2-chris@chris-wilson.co.uk
This commit is contained in:
@@ -332,14 +332,6 @@ static inline bool i915_request_completed(const struct i915_request *rq)
|
||||
return __i915_request_completed(rq, seqno);
|
||||
}
|
||||
|
||||
static inline bool i915_sched_node_signaled(const struct i915_sched_node *node)
|
||||
{
|
||||
const struct i915_request *rq =
|
||||
container_of(node, const struct i915_request, sched);
|
||||
|
||||
return i915_request_completed(rq);
|
||||
}
|
||||
|
||||
void i915_retire_requests(struct drm_i915_private *i915);
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user