Re: [Intel-gfx] [PATCH v3 12/13] drm/i915/execlists: Preemption!

2017-09-29 Thread Joonas Lahtinen
On Fri, 2017-09-29 at 11:12 +0100, Chris Wilson wrote: > Quoting Joonas Lahtinen (2017-09-29 08:29:57) > > On Thu, 2017-09-28 at 20:39 +0100, Chris Wilson wrote: > > > When we write to ELSP, it triggers a context preemption at the earliest > > > arbitration point (3DPRIMITIVE, some PIPECONTROLs, a

Re: [Intel-gfx] [PATCH v3 12/13] drm/i915/execlists: Preemption!

2017-09-29 Thread Chris Wilson
Quoting Joonas Lahtinen (2017-09-29 08:29:57) > On Thu, 2017-09-28 at 20:39 +0100, Chris Wilson wrote: > > When we write to ELSP, it triggers a context preemption at the earliest > > arbitration point (3DPRIMITIVE, some PIPECONTROLs, a few other > > operations and the explicit MI_ARB_CHECK). If thi

Re: [Intel-gfx] [PATCH v3 12/13] drm/i915/execlists: Preemption!

2017-09-29 Thread Chris Wilson
Quoting Mika Kuoppala (2017-09-29 07:55:45) > > @@ -533,7 +555,45 @@ static void execlists_dequeue(struct intel_engine_cs > > *engine) > > spin_lock_irq(&engine->timeline->lock); > > rb = execlists->first; > > GEM_BUG_ON(rb_first(&execlists->queue) != rb); > > - while (rb) {

Re: [Intel-gfx] [PATCH v3 12/13] drm/i915/execlists: Preemption!

2017-09-29 Thread Joonas Lahtinen
On Thu, 2017-09-28 at 20:39 +0100, Chris Wilson wrote: > When we write to ELSP, it triggers a context preemption at the earliest > arbitration point (3DPRIMITIVE, some PIPECONTROLs, a few other > operations and the explicit MI_ARB_CHECK). If this is to the same > context, it triggers a LITE_RESTORE

Re: [Intel-gfx] [PATCH v3 12/13] drm/i915/execlists: Preemption!

2017-09-28 Thread Mika Kuoppala
Chris Wilson writes: > When we write to ELSP, it triggers a context preemption at the earliest > arbitration point (3DPRIMITIVE, some PIPECONTROLs, a few other > operations and the explicit MI_ARB_CHECK). If this is to the same > context, it triggers a LITE_RESTORE where the RING_TAIL is merely >

[Intel-gfx] [PATCH v3 12/13] drm/i915/execlists: Preemption!

2017-09-28 Thread Chris Wilson
When we write to ELSP, it triggers a context preemption at the earliest arbitration point (3DPRIMITIVE, some PIPECONTROLs, a few other operations and the explicit MI_ARB_CHECK). If this is to the same context, it triggers a LITE_RESTORE where the RING_TAIL is merely updated (used currently to chain