All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	intel-gfx@lists.freedesktop.org,
	Tomi Sarvela <tomix.p.sarvela@intel.com>
Subject: Re: [PATCH] drm/i915: Allow unready gpu to be reset on gen8
Date: Fri, 30 Oct 2015 17:18:18 +0200	[thread overview]
Message-ID: <87ziz0pepx.fsf@gaia.fi.intel.com> (raw)
In-Reply-To: <20151030145813.GV21481@nuc-i3427.alporthouse.com>

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

> On Fri, Oct 30, 2015 at 04:43:49PM +0200, Mika Kuoppala wrote:
>> Gen9 has had demonstrated cases where forcing a not ready gpu
>> into reset has caused system hang [1].
>> 
>> Gen8 has never to this date demonstrated such behaviour.
>> 
>> In our CI tests bsw sometimes ends up in a state where it claims it
>> is not ready for reset, based on reset request, after gpu hang.
>> 
>> Allow gen8 to reset even after claims of nonreadiness in order
>> to keep the gpu accessible. Enhance logging so that it will be
>> clear what conditions led to decision of proceeding or bailing out,
>> so that we will spot if this way of forcing our will against gpu turns
>> out to be foolhardy.
>> 
>> References [1]: https://bugs.freedesktop.org/show_bug.cgi?id=89959
>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
>> Cc: Tomi Sarvela <tomix.p.sarvela@intel.com>
>> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
>> ---
>>  drivers/gpu/drm/i915/intel_uncore.c | 9 ++++++++-
>>  1 file changed, 8 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
>> index f0f97b2..47c17f2 100644
>> --- a/drivers/gpu/drm/i915/intel_uncore.c
>> +++ b/drivers/gpu/drm/i915/intel_uncore.c
>> @@ -1504,7 +1504,14 @@ not_ready:
>>  		I915_WRITE(RING_RESET_CTL(engine->mmio_base),
>>  			   _MASKED_BIT_DISABLE(RESET_CTL_REQUEST_RESET));
>>  
>> -	return -EIO;
>
> Where's the reference for where we hit this EIO on gen8?
>

Internal CI logs, relevant part cutpasted below. If you want
full log holler me in irc.

[  119.147727] kms_pipe_crc_basic: starting subtest hang-read-crc-pipe-A
[  124.785063] [drm] stuck on render ring
[  124.800850] [drm] GPU HANG: ecode 8:0:0xfffffffe, in kms_pipe_crc_ba
[5590], reason: Ring hung, action: reset
[  124.801154] [drm] GPU hangs can indicate a bug anywhere in the entire
gfx stack, including userspace.
[  124.801161] [drm] Please file a _new_ bug report on
bugs.freedesktop.org against DRI -> DRM/Intel
[  124.801167] [drm] drm/i915 developers can then reassign to the right
component if it's not a kernel issue.
[  124.801173] [drm] The gpu crash dump is required to analyze gpu
hangs, so please always attach it.
[  124.801179] [drm] GPU crash dump saved to /sys/class/drm/card0/error
[  124.801785] kobject: 'card0' (ffff880174ad92a0): kobject_uevent_env
[  124.801940] kobject: 'card0' (ffff880174ad92a0): fill_kobj_path: path
= '/devices/pci0000:00/0000:00:02.0/drm/card0'
[  124.805032] kobject: 'card0' (ffff880174ad92a0): kobject_uevent_env
[  124.805089] kobject: 'card0' (ffff880174ad92a0): fill_kobj_path: path
= '/devices/pci0000:00/0000:00:02.0/drm/card0'
[  125.511744] [drm:gen8_do_reset [i915]] *ERROR* render ring: reset
request timeout
[  125.511922] [drm] Simulated gpu hang, resetting stop_rings
[  125.511927] drm/i915: Resetting chip after gpu hang
[  125.511954] [drm:i915_reset [i915]] *ERROR* Failed to reset chip: -5
[  125.637612] kms_pipe_crc_basic: exiting, ret=0
[  125.653608] [drm:intel_lr_context_deferred_alloc [i915]] *ERROR* ring
create req: -5
[  125.847695] gem_ctx_param_basic: executing
[  125.850086] [drm:intel_lr_context_deferred_alloc [i915]] *ERROR* ring
create req: -5
[  125.854482] gem_ctx_param_basic: exiting, ret=99
[  126.038693] kms_addfb_basic: executing
[  126.041754] [drm:intel_lr_context_deferred_alloc [i915]] *ERROR* ring
create req: -5

-Mika

>> +	if (INTEL_INFO(dev)->gen == 9) {
>> +		DRM_ERROR("Reset would risk system stability, bailing out\n");
>> +		return -EIO;
>> +	}
>> +
>> +	DRM_ERROR("Forcing non ready gpu into reset\n");
>> +
>> +	return gen6_do_reset(dev);
>>  }
>>  
>>  static int (*intel_get_gpu_reset(struct drm_device *dev))(struct drm_device *)
>> -- 
>> 2.5.0
>> 
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> -- 
> Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-10-30 15:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-30 14:43 [PATCH] drm/i915: Allow unready gpu to be reset on gen8 Mika Kuoppala
2015-10-30 14:58 ` Chris Wilson
2015-10-30 15:18   ` Mika Kuoppala [this message]
2015-10-30 15:28     ` Chris Wilson
2015-10-30 16:07       ` Mika Kuoppala
2015-11-02  8:35         ` Sarvela, TomiX P
2015-11-02  9:25       ` Mika Kuoppala
2015-11-17 17:40         ` Daniel Vetter
2015-11-19  9:41           ` Mika Kuoppala
2015-11-19 15:33             ` Daniel Vetter
2015-12-30  9:48               ` Jani Nikula
2016-01-08 16:31                 ` Mika Kuoppala
2016-01-08 16:52                   ` Chris Wilson

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=87ziz0pepx.fsf@gaia.fi.intel.com \
    --to=mika.kuoppala@linux.intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=daniel.vetter@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=tomix.p.sarvela@intel.com \
    /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.