Re: [PATCH] drm/i915: Only warn the first time we attempt to mmio whilst suspended

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

 



2014-11-24 6:03 GMT-02:00 Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>:
> In all likelihood we will do a few hundred errnoneous register
> operations if we do a single invalid register access whilst the device
> is suspended. As each instance causes a WARN, this floods the system
> logs and can make the system unresponsive.
>
> The warning was first introduced in
> commit b2ec142cb0101f298f8e091c7d75b1ec5b809b65
> Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx>
> Date:   Fri Feb 21 13:52:25 2014 -0300
>
>     drm/i915: call assert_device_not_suspended at gen6_force_wake_work
>
> and despite the claims the WARN is still encountered in the wild today.

Can you please give us some more information on the WARNs you are
encountering? Any bug numbers? Which platforms? Do we have test cases
for these in IGT? If you can describe the steps to reproduce, we can
try to write some test cases.

I have already debugged bugs related to this WARN, and as far as I
remember, in most cases we only got a few WARN instances, not
"hundreds" of WARNs.

The patch itself is fine, but having a way to trigger all the WARNs -
not just the first one - with i915.mmio_debug would be cool too.

>
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx>
> Cc: Imre Deak <imre.deak@xxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
>  drivers/gpu/drm/i915/intel_uncore.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> index 1a3e485a4f97..f0230b0e8e11 100644
> --- a/drivers/gpu/drm/i915/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/intel_uncore.c
> @@ -43,8 +43,8 @@
>  static void
>  assert_device_not_suspended(struct drm_i915_private *dev_priv)
>  {
> -       WARN(HAS_RUNTIME_PM(dev_priv->dev) && dev_priv->pm.suspended,
> -            "Device suspended\n");
> +       WARN_ONCE(HAS_RUNTIME_PM(dev_priv->dev) && dev_priv->pm.suspended,
> +                 "Device suspended\n");
>  }
>
>  static void __gen6_gt_wait_for_thread_c0(struct drm_i915_private *dev_priv)
> --
> 2.1.3
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Paulo Zanoni
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://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