Most systems keep the last messages from the panic, and we value the
stacktrace most, so dump it last in order to preserve it for
post-mortems.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 kernel/panic.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/kernel/panic.c b/kernel/panic.c
index 8b2e002d52eb..c0334516cb15 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -176,13 +176,6 @@ void panic(const char *fmt, ...)
        vsnprintf(buf, sizeof(buf), fmt, args);
        va_end(args);
        pr_emerg("Kernel panic - not syncing: %s\n", buf);
-#ifdef CONFIG_DEBUG_BUGVERBOSE
-       /*
-        * Avoid nested stack-dumping if a panic occurs during oops processing
-        */
-       if (!test_taint(TAINT_DIE) && oops_in_progress <= 1)
-               dump_stack();
-#endif
 
        /*
         * If we have crashed and we have a crash kernel loaded let it handle
@@ -217,6 +210,14 @@ void panic(const char *fmt, ...)
         */
        atomic_notifier_call_chain(&panic_notifier_list, 0, buf);
 
+#ifdef CONFIG_DEBUG_BUGVERBOSE
+       /*
+        * Avoid nested stack-dumping if a panic occurs during oops processing
+        */
+       if (!test_taint(TAINT_DIE) && oops_in_progress <= 1)
+               dump_stack();
+#endif
+
        /* Call flush even twice. It tries harder with a single online CPU */
        printk_safe_flush_on_panic();
        kmsg_dump(KMSG_DUMP_PANIC);
-- 
2.19.0.rc1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to