[Intel-gfx] [PATCH] drm/i915/execlists: Listen to COMPLETE context event not ACTIVE_IDLE

Chris Wilson chris at chris-wilson.co.uk
Sat Nov 18 01:01:31 UTC 2017


Quoting Michel Thierry (2017-11-18 00:53:57)
> On 11/17/2017 4:31 PM, Chris Wilson wrote:
> > Since its inception, execlists has listened to (ACTIVE_IDLE |
> > ELEMENT_SWITCH) for detecting when one context completed and it either
> > continued onto the next (in port 1) or idled. We would always see
> > COMPLETE | ACTIVE_IDLE on the final context-switch event, but on recent
> > gen it appears that we now get separate ACTIVE_IDLE and COMPLETE events.
> > In particular, the ACTIVE_IDLE events may not be coupled to a context
> > (since it is a general state rather than a specific context completion
> > event).
> > 
> > References: https://bugs.freedesktop.org/show_bug.cgi?id=103800
> > References: https://bugs.freedesktop.org/show_bug.cgi?id=102035
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> > Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> > Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> > Cc: Michal Winiarski <michal.winiarski at intel.com>
> > Cc: Michel Thierry <michel.thierry at intel.com>
> > ---
> >   drivers/gpu/drm/i915/intel_lrc.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> > index be6c39adebdf..768946741be5 100644
> > --- a/drivers/gpu/drm/i915/intel_lrc.c
> > +++ b/drivers/gpu/drm/i915/intel_lrc.c
> > @@ -154,7 +154,7 @@
> >   #define GEN8_CTX_STATUS_LITE_RESTORE        (1 << 15)
> >   
> >   #define GEN8_CTX_STATUS_COMPLETED_MASK \
> > -      (GEN8_CTX_STATUS_ACTIVE_IDLE | \
> > +      (GEN8_CTX_STATUS_COMPLETE | \
> >         GEN8_CTX_STATUS_PREEMPTED | \
> >         GEN8_CTX_STATUS_ELEMENT_SWITCH)
> >   
> > 
> 
> Long long time ago we also looked at GEN8_CTX_STATUS_COMPLETE.
> I don't know about these 'recent' gens, but this change shouldn't make 
> things worse.

My mistake, yes originally it was COMPLETE then 

commit e1fee72c2ea2e9c0c6e6743d32a6832f21337d6c
Author: Oscar Mateo <oscar.mateo at intel.com>
Date:   Thu Jul 24 17:04:40 2014 +0100

    drm/i915/bdw: Avoid non-lite-restore preemptions

did the s/COMPLETE/ACTIVE_IDLE | ELEMENT_SWITCH/
-Chris


More information about the Intel-gfx mailing list