Commit 7f961d79 authored by Chris Wilson's avatar Chris Wilson

drm/i915: Compile out engine debug for release

The majority of the engine state dumping is too voluminous to be useful
outside of a controlled setup, though a few do accompany severe errors.
Keep the debug dumps next to the errors, but hide the others behind a CI
compile flag. This becomes more useful when adding more dumps to latency
sensitive paths.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180426103219.22181-1-chris@chris-wilson.co.uk
parent 741258cd
...@@ -3312,7 +3312,7 @@ void i915_gem_set_wedged(struct drm_i915_private *i915) ...@@ -3312,7 +3312,7 @@ void i915_gem_set_wedged(struct drm_i915_private *i915)
GEM_TRACE("start\n"); GEM_TRACE("start\n");
if (drm_debug & DRM_UT_DRIVER) { if (GEM_SHOW_DEBUG()) {
struct drm_printer p = drm_debug_printer(__func__); struct drm_printer p = drm_debug_printer(__func__);
for_each_engine(engine, i915, id) for_each_engine(engine, i915, id)
......
...@@ -30,6 +30,9 @@ ...@@ -30,6 +30,9 @@
struct drm_i915_private; struct drm_i915_private;
#ifdef CONFIG_DRM_I915_DEBUG_GEM #ifdef CONFIG_DRM_I915_DEBUG_GEM
#define GEM_SHOW_DEBUG() (drm_debug & DRM_UT_DRIVER)
#define GEM_BUG_ON(condition) do { if (unlikely((condition))) { \ #define GEM_BUG_ON(condition) do { if (unlikely((condition))) { \
pr_err("%s:%d GEM_BUG_ON(%s)\n", \ pr_err("%s:%d GEM_BUG_ON(%s)\n", \
__func__, __LINE__, __stringify(condition)); \ __func__, __LINE__, __stringify(condition)); \
...@@ -45,6 +48,9 @@ struct drm_i915_private; ...@@ -45,6 +48,9 @@ struct drm_i915_private;
#define GEM_DEBUG_BUG_ON(expr) GEM_BUG_ON(expr) #define GEM_DEBUG_BUG_ON(expr) GEM_BUG_ON(expr)
#else #else
#define GEM_SHOW_DEBUG() (0)
#define GEM_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr) #define GEM_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
#define GEM_WARN_ON(expr) (BUILD_BUG_ON_INVALID(expr), 0) #define GEM_WARN_ON(expr) (BUILD_BUG_ON_INVALID(expr), 0)
......
...@@ -82,7 +82,7 @@ static unsigned long wait_timeout(void) ...@@ -82,7 +82,7 @@ static unsigned long wait_timeout(void)
static noinline void missed_breadcrumb(struct intel_engine_cs *engine) static noinline void missed_breadcrumb(struct intel_engine_cs *engine)
{ {
if (drm_debug & DRM_UT_DRIVER) { if (GEM_SHOW_DEBUG()) {
struct drm_printer p = drm_debug_printer(__func__); struct drm_printer p = drm_debug_printer(__func__);
intel_engine_dump(engine, &p, intel_engine_dump(engine, &p,
......
...@@ -356,7 +356,7 @@ static void hangcheck_accumulate_sample(struct intel_engine_cs *engine, ...@@ -356,7 +356,7 @@ static void hangcheck_accumulate_sample(struct intel_engine_cs *engine,
break; break;
case ENGINE_DEAD: case ENGINE_DEAD:
if (drm_debug & DRM_UT_DRIVER) { if (GEM_SHOW_DEBUG()) {
struct drm_printer p = drm_debug_printer("hangcheck"); struct drm_printer p = drm_debug_printer("hangcheck");
intel_engine_dump(engine, &p, "%s\n", engine->name); intel_engine_dump(engine, &p, "%s\n", engine->name);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment