diff mbox

drm/i915: Print the condition causing GEM_BUG_ON

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

Commit Message

Mika Kuoppala Oct. 16, 2017, 3:26 p.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>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_gem.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Joonas Lahtinen Oct. 16, 2017, 3:42 p.m. UTC | #1
On Mon, 2017-10-16 at 18:26 +0300, Mika Kuoppala wrote:
> 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>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>

<SNIP>

That's one off my TODO list. This would make life easier for CI people.

> @@ -28,7 +28,10 @@
>  #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: %s\n", __stringify(condition)); BUG(); \
> +		} \
> +	} while(0)

To keep style consistent with WARN_ON make it;

	printk(KERN_ERR "GEM_BUG_ON(%s)\n", __stringify(condition)) 

Then, this is;

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Regards, Joonas
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem.h b/drivers/gpu/drm/i915/i915_gem.h
index ee54597465b6..37ddc3f1f194 100644
--- a/drivers/gpu/drm/i915/i915_gem.h
+++ b/drivers/gpu/drm/i915/i915_gem.h
@@ -28,7 +28,10 @@ 
 #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: %s\n", __stringify(condition)); BUG(); \
+		} \
+	} while(0)
 #define GEM_WARN_ON(expr) WARN_ON(expr)
 
 #define GEM_DEBUG_DECL(var) var