Re: [PATCH 1/2] drm/i915/execlists: Listen to COMPLETE context event not ACTIVE_IDLE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2017-11-20 at 09:09 +0000, Chris Wilson wrote:
> Since commit e1fee72c2ea2e9c0c6e6743d32a6832f21337d6c
> Author: Oscar Mateo <oscar.mateo@xxxxxxxxx>

Cc:ing oscar as git didn't pick this line up.

> Date:   Thu Jul 24 17:04:40 2014 +0100
> 
>     drm/i915/bdw: Avoid non-lite-restore preemptions
> 
> 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).
> 
> v2: Update the history, execlists did originally start out by listening
> to the COMPLETE event not ACTIVE_IDLE.
> v3: Update preempt completion test to also use COMPLETE not ACTIVE_IDLE.
> 
> References: https://bugs.freedesktop.org/show_bug.cgi?id=103800
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
> Cc: Michal Winiarski <michal.winiarski@xxxxxxxxx>
> Cc: Michel Thierry <michel.thierry@xxxxxxxxx>
> Acked-by: Michel Thierry <michel.thierry@xxxxxxxxx>

It's not too verbose, byt worthy adding anyway:

Bspec: 12255

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>

One comment below.

> +++ 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)

Not related to this patch but ELEMENT_SWITCH should probably be dropped
from here.

The context only "completes" as the driver is concerned by actually
being completed or by getting preempted. Everything else is ELSP state
changes, idle->active, port1->port2, active->idle.

Regards, Joonas
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux