OSDN Git Service

drm/i915: Taint the kernel on dumping the GEM ftrace buffer
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 10 Nov 2019 18:57:54 +0000 (18:57 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 11 Nov 2019 12:46:12 +0000 (12:46 +0000)
As the ftrace buffer is single shot, once dumped it will not update. As
such, it only provides information for the first bug and all subsequent
bugs are noise. The goal of CI is to have zero bugs, so taint the kernel
causing CI to reboot the machine; fix the bug and move on.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191110185806.17413-13-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.h

index f6f9675..36a8c76 100644 (file)
@@ -68,9 +68,10 @@ struct drm_i915_private;
        pr_err(__VA_ARGS__);                                            \
        trace_printk(__VA_ARGS__);                                      \
 } while (0)
-#define GEM_TRACE_DUMP() ftrace_dump(DUMP_ALL)
+#define GEM_TRACE_DUMP() \
+       do { ftrace_dump(DUMP_ALL); add_taint_for_CI(TAINT_WARN); } while (0)
 #define GEM_TRACE_DUMP_ON(expr) \
-       do { if (expr) ftrace_dump(DUMP_ALL); } while (0)
+       do { if (expr) GEM_TRACE_DUMP(); } while (0)
 #else
 #define GEM_TRACE(...) do { } while (0)
 #define GEM_TRACE_ERR(...) do { } while (0)