drm/i915: Remove unbannable context spam from reset
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 5 Feb 2018 09:22:01 +0000 (09:22 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 5 Feb 2018 13:24:45 +0000 (13:24 +0000)
During testing, we trigger a lot of resets on an unbannable context
leading to massive amounts of irrelevant debug spam. Remove the
ban_score accounting and message for the unbannable context so that we
improve the signal:noise in the log messages for when the unexpected
occurs.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180205092201.19476-7-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c

index dffbe8f..f3cc40a 100644 (file)
@@ -2823,24 +2823,23 @@ i915_gem_object_pwrite_gtt(struct drm_i915_gem_object *obj,
        return 0;
 }
 
-static bool ban_context(const struct i915_gem_context *ctx,
-                       unsigned int score)
-{
-       return (i915_gem_context_is_bannable(ctx) &&
-               score >= CONTEXT_SCORE_BAN_THRESHOLD);
-}
-
 static void i915_gem_context_mark_guilty(struct i915_gem_context *ctx)
 {
-       unsigned int score;
        bool banned;
 
        atomic_inc(&ctx->guilty_count);
 
-       score = atomic_add_return(CONTEXT_SCORE_GUILTY, &ctx->ban_score);
-       banned = ban_context(ctx, score);
-       DRM_DEBUG_DRIVER("context %s marked guilty (score %d) banned? %s\n",
-                        ctx->name, score, yesno(banned));
+       banned = false;
+       if (i915_gem_context_is_bannable(ctx)) {
+               unsigned int score;
+
+               score = atomic_add_return(CONTEXT_SCORE_GUILTY,
+                                         &ctx->ban_score);
+               banned = score >= CONTEXT_SCORE_BAN_THRESHOLD;
+
+               DRM_DEBUG_DRIVER("context %s marked guilty (score %d) banned? %s\n",
+                                ctx->name, score, yesno(banned));
+       }
        if (!banned)
                return;