drm/i915: Drop i915_request.lock requirement for intel_rps_boost()
Since we use a flag within i915_request.flags to indicate when we have boosted the request (so that we only apply the boost) once, this can be used as the serialisation with i915_request_retire() to avoid having to explicitly take the i915_request.lock which is more heavily contended. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201231093149.19086-1-chris@chris-wilson.co.uk
This commit is contained in:
@ -307,10 +307,8 @@ bool i915_request_retire(struct i915_request *rq)
|
||||
spin_unlock_irq(&rq->lock);
|
||||
}
|
||||
|
||||
if (i915_request_has_waitboost(rq)) {
|
||||
GEM_BUG_ON(!atomic_read(&rq->engine->gt->rps.num_waiters));
|
||||
if (test_and_set_bit(I915_FENCE_FLAG_BOOST, &rq->fence.flags))
|
||||
atomic_dec(&rq->engine->gt->rps.num_waiters);
|
||||
}
|
||||
|
||||
/*
|
||||
* We only loosely track inflight requests across preemption,
|
||||
|
Reference in New Issue
Block a user