x86/unwind: Make CONFIG_UNWINDER_ORC=y the default in kconfig for 64-bit
authorJosh Poimboeuf <jpoimboe@redhat.com>
Fri, 13 Oct 2017 20:02:01 +0000 (15:02 -0500)
committerIngo Molnar <mingo@kernel.org>
Sat, 14 Oct 2017 08:12:12 +0000 (10:12 +0200)
The ORC unwinder has been stable in testing so far.  Give it much wider
testing by making it the default in kconfig for x86_64.  It's not yet
supported for 32-bit, so leave frame pointers as the default there.

Suggested-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/9b1237bbe7244ed9cdf8db2dcb1253e37e1c341e.1507924831.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/Kconfig.debug

index f274dbb87c26cc3691de4f1fb4e8f8e90f47b851..a4ff214fb76037b6105e9aae7e34cc79d7c355f3 100644 (file)
@@ -358,27 +358,13 @@ config PUNIT_ATOM_DEBUG
 
 choice
        prompt "Choose kernel unwinder"
-       default UNWINDER_FRAME_POINTER
+       default UNWINDER_ORC if X86_64
+       default UNWINDER_FRAME_POINTER if X86_32
        ---help---
          This determines which method will be used for unwinding kernel stack
          traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
          livepatch, lockdep, and more.
 
-config UNWINDER_FRAME_POINTER
-       bool "Frame pointer unwinder"
-       select FRAME_POINTER
-       ---help---
-         This option enables the frame pointer unwinder for unwinding kernel
-         stack traces.
-
-         The unwinder itself is fast and it uses less RAM than the ORC
-         unwinder, but the kernel text size will grow by ~3% and the kernel's
-         overall performance will degrade by roughly 5-10%.
-
-         This option is recommended if you want to use the livepatch
-         consistency model, as this is currently the only way to get a
-         reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE).
-
 config UNWINDER_ORC
        bool "ORC unwinder"
        depends on X86_64
@@ -395,6 +381,21 @@ config UNWINDER_ORC
          Enabling this option will increase the kernel's runtime memory usage
          by roughly 2-4MB, depending on your kernel config.
 
+config UNWINDER_FRAME_POINTER
+       bool "Frame pointer unwinder"
+       select FRAME_POINTER
+       ---help---
+         This option enables the frame pointer unwinder for unwinding kernel
+         stack traces.
+
+         The unwinder itself is fast and it uses less RAM than the ORC
+         unwinder, but the kernel text size will grow by ~3% and the kernel's
+         overall performance will degrade by roughly 5-10%.
+
+         This option is recommended if you want to use the livepatch
+         consistency model, as this is currently the only way to get a
+         reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE).
+
 config UNWINDER_GUESS
        bool "Guess unwinder"
        depends on EXPERT