OSDN Git Service

drm/i915: Compile out engine debug for release
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 26 Apr 2018 10:32:19 +0000 (11:32 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 26 Apr 2018 14:13:35 +0000 (15:13 +0100)
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: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180426103219.22181-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem.h
drivers/gpu/drm/i915/intel_breadcrumbs.c
drivers/gpu/drm/i915/intel_hangcheck.c

index 795ca83..6b0c67a 100644 (file)
@@ -3312,7 +3312,7 @@ void i915_gem_set_wedged(struct drm_i915_private *i915)
 
        GEM_TRACE("start\n");
 
-       if (drm_debug & DRM_UT_DRIVER) {
+       if (GEM_SHOW_DEBUG()) {
                struct drm_printer p = drm_debug_printer(__func__);
 
                for_each_engine(engine, i915, id)
index deaf78d..5259204 100644 (file)
@@ -30,6 +30,9 @@
 struct drm_i915_private;
 
 #ifdef CONFIG_DRM_I915_DEBUG_GEM
+
+#define GEM_SHOW_DEBUG() (drm_debug & DRM_UT_DRIVER)
+
 #define GEM_BUG_ON(condition) do { if (unlikely((condition))) {        \
                pr_err("%s:%d GEM_BUG_ON(%s)\n", \
                       __func__, __LINE__, __stringify(condition)); \
@@ -45,6 +48,9 @@ struct drm_i915_private;
 #define GEM_DEBUG_BUG_ON(expr) GEM_BUG_ON(expr)
 
 #else
+
+#define GEM_SHOW_DEBUG() (0)
+
 #define GEM_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
 #define GEM_WARN_ON(expr) (BUILD_BUG_ON_INVALID(expr), 0)
 
index 5ce4f51..18e643d 100644 (file)
@@ -82,7 +82,7 @@ static unsigned long wait_timeout(void)
 
 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__);
 
                intel_engine_dump(engine, &p,
index fd0ffb8..309e38b 100644 (file)
@@ -356,7 +356,7 @@ static void hangcheck_accumulate_sample(struct intel_engine_cs *engine,
                break;
 
        case ENGINE_DEAD:
-               if (drm_debug & DRM_UT_DRIVER) {
+               if (GEM_SHOW_DEBUG()) {
                        struct drm_printer p = drm_debug_printer("hangcheck");
                        intel_engine_dump(engine, &p, "%s\n", engine->name);
                }