Message ID | 20171116083954.3357-1-mika.kuoppala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 --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