drm/i915: Only show debug for state changes when banning
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 18 Jun 2018 07:31:35 +0000 (08:31 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 18 Jun 2018 13:43:47 +0000 (14:43 +0100)
Since we trigger 10,000s of hangs and resets during selftesting, we emit
many, many thousands of lines of useless debug messages. Reduce the
frequency by only logging a change in state of a guilty context.

Fixes: 14921f3cef85 ("drm/i915: Fix context ban and hang accounting for client")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180618073135.10849-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c

index 822abf444378f85e9e5e90bab6f2f9d5aa7f3526..858d188dd33bc7c5ba33b144195ae5a772fc19fc 100644 (file)
@@ -2976,16 +2976,16 @@ static void i915_gem_context_mark_guilty(struct i915_gem_context *ctx)
        score = atomic_add_return(CONTEXT_SCORE_GUILTY, &ctx->ban_score);
        banned = score >= CONTEXT_SCORE_BAN_THRESHOLD;
 
-       DRM_DEBUG_DRIVER("context %s: guilty %d, score %u, ban %s\n",
-                        ctx->name, atomic_read(&ctx->guilty_count),
-                        score, yesno(banned && bannable));
-
        /* Cool contexts don't accumulate client ban score */
        if (!bannable)
                return;
 
-       if (banned)
+       if (banned) {
+               DRM_DEBUG_DRIVER("context %s: guilty %d, score %u, banned\n",
+                                ctx->name, atomic_read(&ctx->guilty_count),
+                                score);
                i915_gem_context_set_banned(ctx);
+       }
 
        if (!IS_ERR_OR_NULL(ctx->file_priv))
                i915_gem_client_mark_guilty(ctx->file_priv, ctx);