]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - arch/x86/Kconfig.debug
UBUNTU: [Config] CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m
[mirror_ubuntu-artful-kernel.git] / arch / x86 / Kconfig.debug
index cd20ca0b404341d12e3a619fefacf7f3652a8ea2..7d88e9878a75481752f47fbbee8e19a3b73eb3fb 100644 (file)
@@ -305,8 +305,6 @@ config DEBUG_ENTRY
          Some of these sanity checks may slow down kernel entries and
          exits or otherwise impact performance.
 
-         This is currently used to help test NMI code.
-
          If unsure, say N.
 
 config DEBUG_NMI_SELFTEST
@@ -358,4 +356,63 @@ config PUNIT_ATOM_DEBUG
          The current power state can be read from
          /sys/kernel/debug/punit_atom/dev_power_state
 
+choice
+       prompt "Choose kernel unwinder"
+       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_ORC
+       bool "ORC unwinder"
+       depends on X86_64
+       select STACK_VALIDATION
+       ---help---
+         This option enables the ORC (Oops Rewind Capability) unwinder for
+         unwinding kernel stack traces.  It uses a custom data format which is
+         a simplified version of the DWARF Call Frame Information standard.
+
+         This unwinder is more accurate across interrupt entry frames than the
+         frame pointer unwinder.  It can also enable a 5-10% performance
+         improvement across the entire kernel if CONFIG_FRAME_POINTER is
+         disabled.
+
+         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
+       ---help---
+         This option enables the "guess" unwinder for unwinding kernel stack
+         traces.  It scans the stack and reports every kernel text address it
+         finds.  Some of the addresses it reports may be incorrect.
+
+         While this option often produces false positives, it can still be
+         useful in many cases.  Unlike the other unwinders, it has no runtime
+         overhead.
+
+endchoice
+
+config FRAME_POINTER
+       depends on !UNWINDER_ORC && !UNWINDER_GUESS
+       bool
+
 endmenu