[Intel-gfx] [PATCH 3/3] drm/i915/execlists: Cache the last priolist lookup

Chris Wilson chris at chris-wilson.co.uk
Mon Sep 25 12:54:19 UTC 2017


Quoting Chris Wilson (2017-09-25 13:49:29)
> From: Michał Winiarski <michal.winiarski at intel.com>
> 
> Avoid the repeated rbtree lookup for each request as we unwind them by
> tracking the last priolist.
> 
> Signed-off-by: Michał Winiarski <michal.winiarski at intel.com>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/intel_lrc.c | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index c84831c7ea4a..7802b1bd2b5c 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -357,13 +357,14 @@ static void unwind_wa_tail(struct drm_i915_gem_request *rq)
>  
>  static void unwind_incomplete_requests(struct intel_engine_cs *engine)
>  {
> +       struct i915_priolist *p = &engine->execlists.default_priolist;
> +       int last_prio = I915_PRIORITY_NORMAL;

Bah, my suggestion. And it doesn't work unless default_priolist is
already in the rbtree.
-Chris


More information about the Intel-gfx mailing list