[PATCH 52/52] adj-prio
Chris Wilson
chris at chris-wilson.co.uk
Thu Dec 17 02:14:33 UTC 2020
---
drivers/gpu/drm/i915/i915_scheduler.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_scheduler.c b/drivers/gpu/drm/i915/i915_scheduler.c
index 10b17a879176..8078430ee9d6 100644
--- a/drivers/gpu/drm/i915/i915_scheduler.c
+++ b/drivers/gpu/drm/i915/i915_scheduler.c
@@ -519,10 +519,20 @@ static u64 signal_deadline(const struct i915_request *rq)
return last;
}
+static int adj_prio(const struct i915_request *rq)
+{
+ int prio = rq_prio(rq);
+
+ if (rq->sched.semaphores && !i915_sw_fence_signaled(&rq->semaphore))
+ prio -= hweight32(rq->sched.semaphores);
+
+ return prio;
+}
+
static u64 earliest_deadline(const struct i915_request *rq)
{
return i915_scheduler_virtual_deadline(signal_deadline(rq),
- rq_prio(rq));
+ adj_prio(rq));
}
static bool set_earliest_deadline(struct i915_request *rq, u64 old)
--
2.20.1
More information about the Intel-gfx-trybot
mailing list