From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v5 1/9] drm/i915: Include engine state on detecting a missed breadcrumb/seqno
Date: Thu, 09 Nov 2017 13:03:39 +0200 [thread overview]
Message-ID: <87bmkbsohg.fsf@gaia.fi.intel.com> (raw)
In-Reply-To: <20171108191502.7629-2-chris@chris-wilson.co.uk>
Chris Wilson <chris@chris-wilson.co.uk> writes:
> Now that we have a common engine state pretty printer, we can use that
> instead of the adhoc information printed when we miss a breadcrumb.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
> drivers/gpu/drm/i915/intel_breadcrumbs.c | 11 +++++------
> drivers/gpu/drm/i915/intel_engine_cs.c | 6 ++++++
> 2 files changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_breadcrumbs.c b/drivers/gpu/drm/i915/intel_breadcrumbs.c
> index 4de054f8c1ba..1e4d2978fb86 100644
> --- a/drivers/gpu/drm/i915/intel_breadcrumbs.c
> +++ b/drivers/gpu/drm/i915/intel_breadcrumbs.c
> @@ -64,12 +64,11 @@ static unsigned long wait_timeout(void)
>
> static noinline void missed_breadcrumb(struct intel_engine_cs *engine)
> {
> - DRM_DEBUG_DRIVER("%s missed breadcrumb at %pS, irq posted? %s, current seqno=%x, last=%x\n",
> - engine->name, __builtin_return_address(0),
> - yesno(test_bit(ENGINE_IRQ_BREADCRUMB,
> - &engine->irq_posted)),
> - intel_engine_get_seqno(engine),
> - intel_engine_last_submit(engine));
> + struct drm_printer p = drm_debug_printer(__func__);
> +
> + DRM_DEBUG_DRIVER("%s missed breadcrumb at %pS\n",
> + engine->name, __builtin_return_address(0));
> + intel_engine_dump(engine, &p);
We are holding rb_lock while we enter and the dump will retake it.
We also should add proper asserts to intel_engine_dump that we notice
immediately if we try to dump on wrong context.
-Mika
>
> set_bit(engine->id, &engine->i915->gpu_error.missed_irq_rings);
> }
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> index 6997306be0d2..f22dc452030f 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -1835,6 +1835,12 @@ void intel_engine_dump(struct intel_engine_cs *engine, struct drm_printer *m)
> }
> spin_unlock_irq(&b->rb_lock);
>
> + drm_printf(m, "IRQ? 0x%lx (breadcrumbs? %s) (execlists? %s)\n",
> + engine->irq_posted,
> + yesno(test_bit(ENGINE_IRQ_BREADCRUMB,
> + &engine->irq_posted)),
> + yesno(test_bit(ENGINE_IRQ_EXECLIST,
> + &engine->irq_posted)));
> drm_printf(m, "Idle? %s\n", yesno(intel_engine_is_idle(engine)));
> drm_printf(m, "\n");
> }
> --
> 2.15.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-11-09 11:04 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-08 19:14 Context isolation Chris Wilson
2017-11-08 19:14 ` [PATCH v5 1/9] drm/i915: Include engine state on detecting a missed breadcrumb/seqno Chris Wilson
2017-11-09 11:03 ` Mika Kuoppala [this message]
2017-11-09 11:12 ` Chris Wilson
2017-11-08 19:14 ` [PATCH v5 2/9] drm/i915: Define an engine class enum for the uABI Chris Wilson
2017-11-09 9:13 ` Lionel Landwerlin
2017-11-09 9:27 ` Tvrtko Ursulin
2017-11-09 9:37 ` Chris Wilson
2017-11-09 10:04 ` Tvrtko Ursulin
2017-11-09 11:13 ` Chris Wilson
2017-11-09 11:19 ` Lionel Landwerlin
2017-11-09 21:29 ` Chris Wilson
2017-11-09 22:16 ` Lionel Landwerlin
2017-11-09 22:41 ` Chris Wilson
2017-11-10 13:19 ` [PATCH v3] " Chris Wilson
2017-11-10 14:15 ` Lionel Landwerlin
2017-11-10 13:19 ` Chris Wilson
2017-11-08 19:14 ` [PATCH v5 3/9] drm/i915: Force the switch to the i915->kernel_context Chris Wilson
2017-11-08 19:14 ` [PATCH v5 4/9] drm/i915: Move GT powersaving init to i915_gem_init() Chris Wilson
2017-11-08 19:14 ` [PATCH v5 5/9] drm/i915: Move intel_init_clock_gating() " Chris Wilson
2017-11-08 19:27 ` Ville Syrjälä
2017-11-08 19:33 ` Chris Wilson
2017-11-08 19:40 ` Ville Syrjälä
2017-11-08 19:14 ` [PATCH v5 6/9] drm/i915: Inline intel_modeset_gem_init() Chris Wilson
2017-11-08 19:15 ` [PATCH v5 7/9] drm/i915: Mark the context state as dirty/written Chris Wilson
2017-11-08 19:15 ` [PATCH v5 8/9] drm/i915: Record the default hw state after reset upon load Chris Wilson
2017-11-08 19:15 ` [PATCH v5 9/9] drm/i915: Stop caching the "golden" renderstate Chris Wilson
2017-11-08 19:45 ` ✗ Fi.CI.BAT: failure for series starting with [v5,1/9] drm/i915: Include engine state on detecting a missed breadcrumb/seqno Patchwork
2017-11-08 19:54 ` Chris Wilson
2017-11-09 10:14 ` Patchwork
2017-11-10 13:41 ` ✗ Fi.CI.BAT: warning for series starting with [v5,1/9] drm/i915: Include engine state on detecting a missed breadcrumb/seqno (rev3) Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bmkbsohg.fsf@gaia.fi.intel.com \
--to=mika.kuoppala@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.