diff mbox

[CI] drm/i915: Print the condition causing GEM_BUG_ON

Message ID 20171116083954.3357-1-mika.kuoppala@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mika Kuoppala Nov. 16, 2017, 8:39 a.m. UTC
It is easier to categorize and debug bugs if the failed condition
is in plain sight in the actual dmesg output. Make it so.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Marta Lofstedt <marta.lofstedt@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_gem.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Marta Lofstedt Nov. 16, 2017, 8:45 a.m. UTC | #1
I like this, because I would not need to check the actual code when we get BUG() backtraces for CI.

Reviewed-by: Marta Lofstedt <marta.lofstedt@intel.com>

> -----Original Message-----
> From: Mika Kuoppala [mailto:mika.kuoppala@linux.intel.com]
> Sent: Thursday, November 16, 2017 10:40 AM
> To: intel-gfx@lists.freedesktop.org
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>; Chris Wilson
> <chris@chris-wilson.co.uk>; Joonas Lahtinen
> <joonas.lahtinen@linux.intel.com>; Lofstedt, Marta
> <marta.lofstedt@intel.com>
> Subject: [CI] drm/i915: Print the condition causing GEM_BUG_ON
> 
> It is easier to categorize and debug bugs if the failed condition is in plain sight
> in the actual dmesg output. Make it so.
> 
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: Marta Lofstedt <marta.lofstedt@intel.com>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_gem.h | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.h
> b/drivers/gpu/drm/i915/i915_gem.h index ff42b5f0e981..e920dab7f1b8
> 100644
> --- a/drivers/gpu/drm/i915/i915_gem.h
> +++ b/drivers/gpu/drm/i915/i915_gem.h
> @@ -28,7 +28,11 @@
>  #include <linux/bug.h>
> 
>  #ifdef CONFIG_DRM_I915_DEBUG_GEM
> -#define GEM_BUG_ON(expr) BUG_ON(expr)
> +#define GEM_BUG_ON(condition) do { if (unlikely((condition))) {	\
> +		printk(KERN_ERR "GEM_BUG_ON(%s)\n",
> __stringify(condition)); \
> +		BUG(); \
> +		} \
> +	} while(0)
>  #define GEM_WARN_ON(expr) WARN_ON(expr)
> 
>  #define GEM_DEBUG_DECL(var) var
> --
> 2.11.0
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem.h b/drivers/gpu/drm/i915/i915_gem.h
index ff42b5f0e981..e920dab7f1b8 100644
--- a/drivers/gpu/drm/i915/i915_gem.h
+++ b/drivers/gpu/drm/i915/i915_gem.h
@@ -28,7 +28,11 @@ 
 #include <linux/bug.h>
 
 #ifdef CONFIG_DRM_I915_DEBUG_GEM
-#define GEM_BUG_ON(expr) BUG_ON(expr)
+#define GEM_BUG_ON(condition) do { if (unlikely((condition))) {	\
+		printk(KERN_ERR "GEM_BUG_ON(%s)\n", __stringify(condition)); \
+		BUG(); \
+		} \
+	} while(0)
 #define GEM_WARN_ON(expr) WARN_ON(expr)
 
 #define GEM_DEBUG_DECL(var) var