All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Assert that we always complete a submission to guc/execlists
@ 2018-02-15 16:25 Chris Wilson
  2018-02-15 17:00 ` ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Chris Wilson @ 2018-02-15 16:25 UTC (permalink / raw)
  To: intel-gfx

The continual resubmission model for execlists (and emulated over guc)
requires that we keep feeding requests into the HW in order to generate
more CS interrupts to drain the rest of the queue. Add a couple of
asserts to ensure that we don't skip a cycle and come to a grinding
halt.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Michał Winiarski <michal.winiarski@intel.com>
---
 drivers/gpu/drm/i915/intel_guc_submission.c | 6 ++++++
 drivers/gpu/drm/i915/intel_lrc.c            | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c b/drivers/gpu/drm/i915/intel_guc_submission.c
index b43b58cc599b..946766b62459 100644
--- a/drivers/gpu/drm/i915/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/intel_guc_submission.c
@@ -747,6 +747,12 @@ static void guc_dequeue(struct intel_engine_cs *engine)
 		execlists_set_active(execlists, EXECLISTS_ACTIVE_USER);
 		guc_submit(engine);
 	}
+
+	/* We must always keep the beast fed if we have work piled up */
+	GEM_BUG_ON(port_isset(execlists->port) &&
+		   !execlists_is_active(execlists, EXECLISTS_ACTIVE_USER));
+	GEM_BUG_ON(execlists->first && !port_isset(execlists->port));
+
 unlock:
 	spin_unlock_irq(&engine->timeline->lock);
 }
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index c2c8380a0121..6fbe1a8a37ad 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -642,6 +642,12 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
 	execlists->first = rb;
 	if (submit)
 		port_assign(port, last);
+
+	/* We must always keep the beast fed if we have work piled up */
+	GEM_BUG_ON(port_isset(execlists->port) &&
+		   !execlists_is_active(execlists, EXECLISTS_ACTIVE_USER));
+	GEM_BUG_ON(execlists->first && !port_isset(execlists->port));
+
 unlock:
 	spin_unlock_irq(&engine->timeline->lock);
 
-- 
2.16.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: Assert that we always complete a submission to guc/execlists
  2018-02-15 16:25 [PATCH] drm/i915: Assert that we always complete a submission to guc/execlists Chris Wilson
@ 2018-02-15 17:00 ` Patchwork
  2018-02-16 15:28   ` Chris Wilson
  2018-02-16  3:11 ` ✗ Fi.CI.IGT: warning " Patchwork
  2018-02-16 13:42 ` [PATCH] " Mika Kuoppala
  2 siblings, 1 reply; 6+ messages in thread
From: Patchwork @ 2018-02-15 17:00 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Assert that we always complete a submission to guc/execlists
URL   : https://patchwork.freedesktop.org/series/38376/
State : success

== Summary ==

Series 38376v1 drm/i915: Assert that we always complete a submission to guc/execlists
https://patchwork.freedesktop.org/api/1.0/series/38376/revisions/1/mbox/

Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-b:
                pass       -> INCOMPLETE (fi-snb-2520m) fdo#103713

fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713

fi-blb-e6850     total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  time:376s
fi-bwr-2160      total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 time:290s
fi-byt-j1900     total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  time:473s
fi-byt-n2820     total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  time:467s
fi-elk-e7500     total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  time:417s
fi-gdg-551       total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 time:286s
fi-hsw-4770      total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:394s
fi-ilk-650       total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  time:414s
fi-ivb-3520m     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:458s
fi-ivb-3770      total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  time:418s
fi-pnv-d510      total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  time:594s
fi-skl-guc       total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:418s
fi-snb-2520m     total:245  pass:211  dwarn:0   dfail:0   fail:0   skip:33 
fi-snb-2600      total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:398s

6b3cedfad753bf87af8c6347cd8454808e969503 drm-tip: 2018y-02m-15d-15h-04m-33s UTC integration manifest
9a02fea77a6f drm/i915: Assert that we always complete a submission to guc/execlists

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8050/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ✗ Fi.CI.IGT: warning for drm/i915: Assert that we always complete a submission to guc/execlists
  2018-02-15 16:25 [PATCH] drm/i915: Assert that we always complete a submission to guc/execlists Chris Wilson
  2018-02-15 17:00 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-02-16  3:11 ` Patchwork
  2018-02-16 13:42 ` [PATCH] " Mika Kuoppala
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-02-16  3:11 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Assert that we always complete a submission to guc/execlists
URL   : https://patchwork.freedesktop.org/series/38376/
State : warning

== Summary ==

Test kms_flip:
        Subgroup modeset-vs-vblank-race:
                pass       -> FAIL       (shard-hsw) fdo#103060
Test kms_chv_cursor_fail:
        Subgroup pipe-b-64x64-bottom-edge:
                pass       -> SKIP       (shard-snb)
Test kms_cursor_crc:
        Subgroup cursor-256x256-suspend:
                pass       -> SKIP       (shard-snb) fdo#103375
Test gem_eio:
        Subgroup in-flight-external:
                fail       -> PASS       (shard-hsw) fdo#104676 +1
        Subgroup in-flight-contexts:
                dmesg-warn -> PASS       (shard-snb) fdo#104058

fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375
fdo#104676 https://bugs.freedesktop.org/show_bug.cgi?id=104676
fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058

shard-hsw        total:3427 pass:1758 dwarn:1   dfail:0   fail:11  skip:1656 time:11859s
shard-snb        total:3427 pass:1345 dwarn:1   dfail:0   fail:12  skip:2069 time:6602s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8050/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/i915: Assert that we always complete a submission to guc/execlists
  2018-02-15 16:25 [PATCH] drm/i915: Assert that we always complete a submission to guc/execlists Chris Wilson
  2018-02-15 17:00 ` ✓ Fi.CI.BAT: success for " Patchwork
  2018-02-16  3:11 ` ✗ Fi.CI.IGT: warning " Patchwork
@ 2018-02-16 13:42 ` Mika Kuoppala
  2018-02-16 14:20   ` Chris Wilson
  2 siblings, 1 reply; 6+ messages in thread
From: Mika Kuoppala @ 2018-02-16 13:42 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Chris Wilson <chris@chris-wilson.co.uk> writes:

> The continual resubmission model for execlists (and emulated over guc)
> requires that we keep feeding requests into the HW in order to generate
> more CS interrupts to drain the rest of the queue. Add a couple of
> asserts to ensure that we don't skip a cycle and come to a grinding
> halt.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Michał Winiarski <michal.winiarski@intel.com>

Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_guc_submission.c | 6 ++++++
>  drivers/gpu/drm/i915/intel_lrc.c            | 6 ++++++
>  2 files changed, 12 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c b/drivers/gpu/drm/i915/intel_guc_submission.c
> index b43b58cc599b..946766b62459 100644
> --- a/drivers/gpu/drm/i915/intel_guc_submission.c
> +++ b/drivers/gpu/drm/i915/intel_guc_submission.c
> @@ -747,6 +747,12 @@ static void guc_dequeue(struct intel_engine_cs *engine)
>  		execlists_set_active(execlists, EXECLISTS_ACTIVE_USER);
>  		guc_submit(engine);
>  	}
> +
> +	/* We must always keep the beast fed if we have work piled up */
> +	GEM_BUG_ON(port_isset(execlists->port) &&
> +		   !execlists_is_active(execlists, EXECLISTS_ACTIVE_USER));
> +	GEM_BUG_ON(execlists->first && !port_isset(execlists->port));
> +
>  unlock:
>  	spin_unlock_irq(&engine->timeline->lock);
>  }
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index c2c8380a0121..6fbe1a8a37ad 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -642,6 +642,12 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
>  	execlists->first = rb;
>  	if (submit)
>  		port_assign(port, last);
> +
> +	/* We must always keep the beast fed if we have work piled up */
> +	GEM_BUG_ON(port_isset(execlists->port) &&
> +		   !execlists_is_active(execlists, EXECLISTS_ACTIVE_USER));
> +	GEM_BUG_ON(execlists->first && !port_isset(execlists->port));
> +
>  unlock:
>  	spin_unlock_irq(&engine->timeline->lock);
>  
> -- 
> 2.16.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/i915: Assert that we always complete a submission to guc/execlists
  2018-02-16 13:42 ` [PATCH] " Mika Kuoppala
@ 2018-02-16 14:20   ` Chris Wilson
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-02-16 14:20 UTC (permalink / raw)
  To: Mika Kuoppala, intel-gfx

Quoting Mika Kuoppala (2018-02-16 13:42:23)
> Chris Wilson <chris@chris-wilson.co.uk> writes:
> 
> > The continual resubmission model for execlists (and emulated over guc)
> > requires that we keep feeding requests into the HW in order to generate
> > more CS interrupts to drain the rest of the queue. Add a couple of
> > asserts to ensure that we don't skip a cycle and come to a grinding
> > halt.
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Michał Winiarski <michal.winiarski@intel.com>
> 
> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>

Thanks for the review, pushed. Hopefully serves well as commentary.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ✓ Fi.CI.BAT: success for drm/i915: Assert that we always complete a submission to guc/execlists
  2018-02-15 17:00 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-02-16 15:28   ` Chris Wilson
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-02-16 15:28 UTC (permalink / raw)
  To: Patchwork; +Cc: intel-gfx

Quoting Patchwork (2018-02-15 17:00:18)
> == Series Details ==
> 
> Series: drm/i915: Assert that we always complete a submission to guc/execlists
> URL   : https://patchwork.freedesktop.org/series/38376/
> State : success
> 
> == Summary ==
> 
> Series 38376v1 drm/i915: Assert that we always complete a submission to guc/execlists
> https://patchwork.freedesktop.org/api/1.0/series/38376/revisions/1/mbox/
> 
> Test kms_pipe_crc_basic:
>         Subgroup suspend-read-crc-pipe-b:
>                 pass       -> INCOMPLETE (fi-snb-2520m) fdo#103713
> 
> fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
> 
> fi-blb-e6850     total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  time:376s
> fi-bwr-2160      total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 time:290s
> fi-byt-j1900     total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  time:473s
> fi-byt-n2820     total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  time:467s
> fi-elk-e7500     total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  time:417s
> fi-gdg-551       total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 time:286s
> fi-hsw-4770      total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:394s
> fi-ilk-650       total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  time:414s
> fi-ivb-3520m     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:458s
> fi-ivb-3770      total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  time:418s
> fi-pnv-d510      total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  time:594s
> fi-skl-guc       total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:418s
> fi-snb-2520m     total:245  pass:211  dwarn:0   dfail:0   fail:0   skip:33 
> fi-snb-2600      total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:398s

Oh dear, what I did not notice due to the success report was that all the
execlists platforms are absent, and we can't even access their logs.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-02-16 15:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-15 16:25 [PATCH] drm/i915: Assert that we always complete a submission to guc/execlists Chris Wilson
2018-02-15 17:00 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-02-16 15:28   ` Chris Wilson
2018-02-16  3:11 ` ✗ Fi.CI.IGT: warning " Patchwork
2018-02-16 13:42 ` [PATCH] " Mika Kuoppala
2018-02-16 14:20   ` Chris Wilson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.