All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/guc: Check that the breadcrumb irq is enabled
@ 2018-04-09 12:42 Chris Wilson
  2018-04-09 13:56 ` ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Chris Wilson @ 2018-04-09 12:42 UTC (permalink / raw)
  To: intel-gfx

Our execlists emulation for GuC requires use of the breadcrumb following
every request as a simulcrum for the context-switch interrupt, which we
then use to drive the submission tasklet. Therefore, when we unpark the
engine for use with the GuC, we pin the breadcrumb interrupt to keep it
enabled for the duration. This has to be remain so across all resets,
wedging and resume, so check we do have the irq enabled when we start
submitting requests to the GuC and on all submissions thereafter.

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

diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c b/drivers/gpu/drm/i915/intel_guc_submission.c
index 97121230656c..a7957b669b68 100644
--- a/drivers/gpu/drm/i915/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/intel_guc_submission.c
@@ -758,6 +758,8 @@ static void guc_submission_tasklet(unsigned long data)
 	struct execlist_port *port = execlists->port;
 	struct i915_request *rq;
 
+	GEM_BUG_ON(!READ_ONCE(engine->breadcrumbs.irq_enabled));
+
 	rq = port_request(port);
 	while (rq && i915_request_completed(rq)) {
 		trace_i915_request_out(rq);
-- 
2.17.0

_______________________________________________
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/guc: Check that the breadcrumb irq is enabled
  2018-04-09 12:42 [PATCH] drm/i915/guc: Check that the breadcrumb irq is enabled Chris Wilson
@ 2018-04-09 13:56 ` Patchwork
  2018-04-09 14:08 ` [PATCH] " Michal Wajdeczko
  2018-04-09 16:55 ` ✓ Fi.CI.IGT: success for " Patchwork
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-04-09 13:56 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/guc: Check that the breadcrumb irq is enabled
URL   : https://patchwork.freedesktop.org/series/41368/
State : success

== Summary ==

Series 41368v1 drm/i915/guc: Check that the breadcrumb irq is enabled
https://patchwork.freedesktop.org/api/1.0/series/41368/revisions/1/mbox/

---- Known issues:

Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-c:
                pass       -> INCOMPLETE (fi-bxt-dsi) fdo#103927

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

fi-bdw-5557u     total:285  pass:264  dwarn:0   dfail:0   fail:0   skip:21  time:427s
fi-bdw-gvtdvm    total:285  pass:261  dwarn:0   dfail:0   fail:0   skip:24  time:441s
fi-blb-e6850     total:285  pass:220  dwarn:1   dfail:0   fail:0   skip:64  time:380s
fi-bsw-n3050     total:285  pass:239  dwarn:0   dfail:0   fail:0   skip:46  time:537s
fi-bwr-2160      total:285  pass:180  dwarn:0   dfail:0   fail:0   skip:105 time:295s
fi-bxt-dsi       total:243  pass:216  dwarn:0   dfail:0   fail:0   skip:26 
fi-bxt-j4205     total:285  pass:256  dwarn:0   dfail:0   fail:0   skip:29  time:515s
fi-byt-j1900     total:285  pass:250  dwarn:0   dfail:0   fail:0   skip:35  time:525s
fi-byt-n2820     total:285  pass:246  dwarn:0   dfail:0   fail:0   skip:39  time:509s
fi-cfl-8700k     total:285  pass:257  dwarn:0   dfail:0   fail:0   skip:28  time:410s
fi-cfl-s3        total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:560s
fi-cfl-u         total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:514s
fi-cnl-y3        total:285  pass:259  dwarn:0   dfail:0   fail:0   skip:26  time:586s
fi-elk-e7500     total:285  pass:226  dwarn:0   dfail:0   fail:0   skip:59  time:426s
fi-gdg-551       total:285  pass:177  dwarn:0   dfail:0   fail:0   skip:108 time:317s
fi-glk-1         total:285  pass:257  dwarn:0   dfail:0   fail:0   skip:28  time:538s
fi-glk-j4005     total:285  pass:256  dwarn:0   dfail:0   fail:0   skip:29  time:487s
fi-hsw-4770      total:285  pass:258  dwarn:0   dfail:0   fail:0   skip:27  time:404s
fi-ilk-650       total:285  pass:225  dwarn:0   dfail:0   fail:0   skip:60  time:421s
fi-ivb-3520m     total:285  pass:256  dwarn:0   dfail:0   fail:0   skip:29  time:475s
fi-ivb-3770      total:285  pass:252  dwarn:0   dfail:0   fail:0   skip:33  time:435s
fi-kbl-7500u     total:285  pass:260  dwarn:1   dfail:0   fail:0   skip:24  time:473s
fi-kbl-7567u     total:285  pass:265  dwarn:0   dfail:0   fail:0   skip:20  time:466s
fi-kbl-r         total:285  pass:258  dwarn:0   dfail:0   fail:0   skip:27  time:511s
fi-pnv-d510      total:285  pass:220  dwarn:1   dfail:0   fail:0   skip:64  time:668s
fi-skl-6260u     total:285  pass:265  dwarn:0   dfail:0   fail:0   skip:20  time:439s
fi-skl-6600u     total:285  pass:258  dwarn:0   dfail:0   fail:0   skip:27  time:530s
fi-skl-6700k2    total:285  pass:261  dwarn:0   dfail:0   fail:0   skip:24  time:500s
fi-skl-6770hq    total:285  pass:265  dwarn:0   dfail:0   fail:0   skip:20  time:505s
fi-skl-guc       total:285  pass:257  dwarn:0   dfail:0   fail:0   skip:28  time:433s
fi-skl-gvtdvm    total:285  pass:262  dwarn:0   dfail:0   fail:0   skip:23  time:446s
fi-snb-2520m     total:285  pass:245  dwarn:0   dfail:0   fail:0   skip:40  time:578s
fi-snb-2600      total:285  pass:245  dwarn:0   dfail:0   fail:0   skip:40  time:402s

e5a01dd0c5d224beec064e40184cc63a82ae79ce drm-tip: 2018y-04m-09d-12h-37m-09s UTC integration manifest
efbbf2bfa79b drm/i915/guc: Check that the breadcrumb irq is enabled

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8642/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

* Re: [PATCH] drm/i915/guc: Check that the breadcrumb irq is enabled
  2018-04-09 12:42 [PATCH] drm/i915/guc: Check that the breadcrumb irq is enabled Chris Wilson
  2018-04-09 13:56 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-04-09 14:08 ` Michal Wajdeczko
  2018-04-09 14:49   ` Chris Wilson
  2018-04-09 16:55 ` ✓ Fi.CI.IGT: success for " Patchwork
  2 siblings, 1 reply; 6+ messages in thread
From: Michal Wajdeczko @ 2018-04-09 14:08 UTC (permalink / raw)
  To: intel-gfx, Chris Wilson

On Mon, 09 Apr 2018 14:42:19 +0200, Chris Wilson  
<chris@chris-wilson.co.uk> wrote:

> Our execlists emulation for GuC requires use of the breadcrumb following
> every request as a simulcrum for the context-switch interrupt, which we
> then use to drive the submission tasklet. Therefore, when we unpark the
> engine for use with the GuC, we pin the breadcrumb interrupt to keep it
> enabled for the duration. This has to be remain so across all resets,
> wedging and resume, so check we do have the irq enabled when we start
> submitting requests to the GuC and on all submissions thereafter.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Michał Winiarski <michal.winiarski@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_guc_submission.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c  
> b/drivers/gpu/drm/i915/intel_guc_submission.c
> index 97121230656c..a7957b669b68 100644
> --- a/drivers/gpu/drm/i915/intel_guc_submission.c
> +++ b/drivers/gpu/drm/i915/intel_guc_submission.c
> @@ -758,6 +758,8 @@ static void guc_submission_tasklet(unsigned long  
> data)
>  	struct execlist_port *port = execlists->port;
>  	struct i915_request *rq;
> +	GEM_BUG_ON(!READ_ONCE(engine->breadcrumbs.irq_enabled));
> +
>  	rq = port_request(port);
>  	while (rq && i915_request_completed(rq)) {
>  		trace_i915_request_out(rq);

LGTM, but can you run this with GuC enabled ?

Thanks,
Michal
_______________________________________________
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/guc: Check that the breadcrumb irq is enabled
  2018-04-09 14:08 ` [PATCH] " Michal Wajdeczko
@ 2018-04-09 14:49   ` Chris Wilson
  2018-04-10  9:24     ` Chris Wilson
  0 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2018-04-09 14:49 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-gfx

Quoting Michal Wajdeczko (2018-04-09 15:08:40)
> On Mon, 09 Apr 2018 14:42:19 +0200, Chris Wilson  
> <chris@chris-wilson.co.uk> wrote:
> 
> > Our execlists emulation for GuC requires use of the breadcrumb following
> > every request as a simulcrum for the context-switch interrupt, which we
> > then use to drive the submission tasklet. Therefore, when we unpark the
> > engine for use with the GuC, we pin the breadcrumb interrupt to keep it
> > enabled for the duration. This has to be remain so across all resets,
> > wedging and resume, so check we do have the irq enabled when we start
> > submitting requests to the GuC and on all submissions thereafter.
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> > Cc: Michał Winiarski <michal.winiarski@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_guc_submission.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c  
> > b/drivers/gpu/drm/i915/intel_guc_submission.c
> > index 97121230656c..a7957b669b68 100644
> > --- a/drivers/gpu/drm/i915/intel_guc_submission.c
> > +++ b/drivers/gpu/drm/i915/intel_guc_submission.c
> > @@ -758,6 +758,8 @@ static void guc_submission_tasklet(unsigned long  
> > data)
> >       struct execlist_port *port = execlists->port;
> >       struct i915_request *rq;
> > +     GEM_BUG_ON(!READ_ONCE(engine->breadcrumbs.irq_enabled));
> > +
> >       rq = port_request(port);
> >       while (rq && i915_request_completed(rq)) {
> >               trace_i915_request_out(rq);
> 
> LGTM, but can you run this with GuC enabled ?

Are you afraid? If gem_eio isn't hitting this, I need to tweak gem_eio
;)
-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

* ✓ Fi.CI.IGT: success for drm/i915/guc: Check that the breadcrumb irq is enabled
  2018-04-09 12:42 [PATCH] drm/i915/guc: Check that the breadcrumb irq is enabled Chris Wilson
  2018-04-09 13:56 ` ✓ Fi.CI.BAT: success for " Patchwork
  2018-04-09 14:08 ` [PATCH] " Michal Wajdeczko
@ 2018-04-09 16:55 ` Patchwork
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-04-09 16:55 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/guc: Check that the breadcrumb irq is enabled
URL   : https://patchwork.freedesktop.org/series/41368/
State : success

== Summary ==

---- Known issues:

Test kms_flip:
        Subgroup 2x-wf_vblank-ts-check:
                fail       -> PASS       (shard-hsw) fdo#100368
        Subgroup flip-vs-expired-vblank:
                pass       -> FAIL       (shard-hsw) fdo#102887
Test prime_vgem:
        Subgroup basic-fence-flip:
                pass       -> FAIL       (shard-apl) fdo#104008

fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008

shard-apl        total:2680 pass:1834 dwarn:1   dfail:0   fail:8   skip:836 time:12671s
shard-hsw        total:2680 pass:1785 dwarn:1   dfail:0   fail:2   skip:891 time:11431s
Blacklisted hosts:
shard-kbl        total:2680 pass:1961 dwarn:1   dfail:0   fail:8   skip:710 time:9164s
shard-snb        total:2680 pass:1377 dwarn:1   dfail:0   fail:3   skip:1299 time:6942s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8642/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/guc: Check that the breadcrumb irq is enabled
  2018-04-09 14:49   ` Chris Wilson
@ 2018-04-10  9:24     ` Chris Wilson
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-04-10  9:24 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-gfx

Quoting Chris Wilson (2018-04-09 15:49:22)
> Quoting Michal Wajdeczko (2018-04-09 15:08:40)
> > On Mon, 09 Apr 2018 14:42:19 +0200, Chris Wilson  
> > <chris@chris-wilson.co.uk> wrote:
> > 
> > > Our execlists emulation for GuC requires use of the breadcrumb following
> > > every request as a simulcrum for the context-switch interrupt, which we
> > > then use to drive the submission tasklet. Therefore, when we unpark the
> > > engine for use with the GuC, we pin the breadcrumb interrupt to keep it
> > > enabled for the duration. This has to be remain so across all resets,
> > > wedging and resume, so check we do have the irq enabled when we start
> > > submitting requests to the GuC and on all submissions thereafter.
> > >
> > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> > > Cc: Michał Winiarski <michal.winiarski@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_guc_submission.c | 2 ++
> > >  1 file changed, 2 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c  
> > > b/drivers/gpu/drm/i915/intel_guc_submission.c
> > > index 97121230656c..a7957b669b68 100644
> > > --- a/drivers/gpu/drm/i915/intel_guc_submission.c
> > > +++ b/drivers/gpu/drm/i915/intel_guc_submission.c
> > > @@ -758,6 +758,8 @@ static void guc_submission_tasklet(unsigned long  
> > > data)
> > >       struct execlist_port *port = execlists->port;
> > >       struct i915_request *rq;
> > > +     GEM_BUG_ON(!READ_ONCE(engine->breadcrumbs.irq_enabled));
> > > +
> > >       rq = port_request(port);
> > >       while (rq && i915_request_completed(rq)) {
> > >               trace_i915_request_out(rq);
> > 
> > LGTM, but can you run this with GuC enabled ?
> 
> Are you afraid? If gem_eio isn't hitting this, I need to tweak gem_eio
> ;)

That run confirms that the existing test coverage is enough to hit this
error - the same tests we know are broken atm due to the unbalance this
is detecting.
-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-04-10  9:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-09 12:42 [PATCH] drm/i915/guc: Check that the breadcrumb irq is enabled Chris Wilson
2018-04-09 13:56 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-04-09 14:08 ` [PATCH] " Michal Wajdeczko
2018-04-09 14:49   ` Chris Wilson
2018-04-10  9:24     ` Chris Wilson
2018-04-09 16:55 ` ✓ Fi.CI.IGT: success for " Patchwork

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.