Commit 9ae6c4ef authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915/execlists: Shortcircuit queue_prio() for no internal levels



If there are no internal levels and the user priority-shift is zero, we
can help the compiler eliminate some dead code:

Function                                     old     new   delta
start_timeslice                              169     154     -15
__execlists_submission_tasklet              4696    4659     -37

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200525075347.582-4-chris@chris-wilson.co.uk
parent 7c4541a3
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -446,6 +446,9 @@ static int queue_prio(const struct intel_engine_execlists *execlists)
	 * we have to flip the index value to become priority.
	 */
	p = to_priolist(rb);
	if (!I915_USER_PRIORITY_SHIFT)
		return p->priority;

	return ((p->priority + 1) << I915_USER_PRIORITY_SHIFT) - ffs(p->used);
}