[Intel-gfx] [CI 2/2] drm/i915: Print the condition causing GEM_BUG_ON

Chris Wilson chris at chris-wilson.co.uk
Tue Oct 31 12:40:48 UTC 2017


Quoting Mika Kuoppala (2017-10-31 11:22:54)
> 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 at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Signed-off-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen at 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 ee54597465b6..84ba68e83df5 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)

I'm thinking the ones we actually hit, we should spend the time in
writing up better debug output (i.e. GEM_BUG(expr, fmt, ...));

GEM_BUG_ON(expr) would become GEM_BUG(expr, __stringify(expr));
That shall be the next task.
-Chris


More information about the Intel-gfx mailing list