Re: [PATCH] drm/i915: Emit a user level message when resetting the GPU (or engine)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/10/2017 7:20 AM, Mika Kuoppala wrote:
Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes:

Although a banned context will be told to -EIO off if they try to submit
more requests, we have a discrepancy between whole device resets and
per-engine resets where we report the GPU reset but not the engine
resets. This leaves a bit of mystery as to why the context was banned,
and also reduces awareness overall of when a GPU (engine) reset occurs
with its possible side-effects.

Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Michel Thierry <michel.thierry@xxxxxxxxx>
Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx>
---
  drivers/gpu/drm/i915/i915_drv.c | 8 +++++---
  1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index d3076a74c17e..dde5783b8f80 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1865,9 +1865,10 @@ void i915_reset(struct drm_i915_private *dev_priv)
  	if (!i915_gem_unset_wedged(dev_priv))
  		goto wakeup;
+ dev_notice(dev_priv->drm.dev,
+		   "Resetting chip after gpu hang\n");
  	error->reset_count++;
- pr_notice("drm/i915: Resetting chip after gpu hang\n");
  	disable_irq(dev_priv->drm.irq);
  	ret = i915_gem_reset_prepare(dev_priv);
  	if (ret) {
@@ -1945,7 +1946,9 @@ int i915_reset_engine(struct intel_engine_cs *engine)
GEM_BUG_ON(!test_bit(I915_RESET_ENGINE + engine->id, &error->flags)); - DRM_DEBUG_DRIVER("resetting %s\n", engine->name);
+	dev_notice(engine->i915->drm.dev,
+		   "Resetting %s after gpu hang\n", engine->name);
+	error->reset_engine_count[engine->id]++;


Even tho no mention, this is now in symmetry with reset to count
attempts not successes.


True, originally I saw it as a way to prevent counting twice if there were issues and promoted to full-reset. But it is also good to behave the same as chip reset.

Acked-by: Michel Thierry <michel.thierry@xxxxxxxxx>

Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>


  	active_request = i915_gem_reset_prepare_engine(engine);
  	if (IS_ERR(active_request)) {
@@ -1978,7 +1981,6 @@ int i915_reset_engine(struct intel_engine_cs *engine)
  	if (ret)
  		goto out;
- error->reset_engine_count[engine->id]++;
  out:
  	i915_gem_reset_finish_engine(engine);
  	return ret;
--
2.13.2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux