lib: add test module for CONFIG_DEBUG_VIRTUAL
[sfrench/cifs-2.6.git] / lib / Kconfig.debug
index 98fe715522e8d1834083e608d32a78ed0600deb9..b19c491cbc4e7934ab5bc78549c95423b91b2f7a 100644 (file)
@@ -374,6 +374,9 @@ config STACK_VALIDATION
          pointers (if CONFIG_FRAME_POINTER is enabled).  This helps ensure
          that runtime stack traces are more reliable.
 
+         This is also a prerequisite for generation of ORC unwind data, which
+         is needed for CONFIG_ORC_UNWINDER.
+
          For more information, see
          tools/objtool/Documentation/stack-validation.txt.
 
@@ -797,6 +800,13 @@ config HARDLOCKUP_DETECTOR_PERF
        bool
        select SOFTLOCKUP_DETECTOR
 
+#
+# Enables a timestamp based low pass filter to compensate for perf based
+# hard lockup detection which runs too fast due to turbo modes.
+#
+config HARDLOCKUP_CHECK_TIMESTAMP
+       bool
+
 #
 # arch/ can define HAVE_HARDLOCKUP_DETECTOR_ARCH to provide their own hard
 # lockup detector rather than the perf based detector.
@@ -1081,6 +1091,8 @@ config PROVE_LOCKING
        select DEBUG_MUTEXES
        select DEBUG_RT_MUTEXES if RT_MUTEXES
        select DEBUG_LOCK_ALLOC
+       select LOCKDEP_CROSSRELEASE
+       select LOCKDEP_COMPLETIONS
        select TRACE_IRQFLAGS
        default n
        help
@@ -1121,7 +1133,7 @@ config LOCKDEP
        bool
        depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
        select STACKTRACE
-       select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 && !MICROBLAZE && !ARC && !SCORE
+       select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 && !MICROBLAZE && !ARC && !SCORE && !X86
        select KALLSYMS
        select KALLSYMS_ALL
 
@@ -1150,6 +1162,22 @@ config LOCK_STAT
         CONFIG_LOCK_STAT defines "contended" and "acquired" lock events.
         (CONFIG_LOCKDEP defines "acquire" and "release" events.)
 
+config LOCKDEP_CROSSRELEASE
+       bool
+       help
+        This makes lockdep work for crosslock which is a lock allowed to
+        be released in a different context from the acquisition context.
+        Normally a lock must be released in the context acquiring the lock.
+        However, relexing this constraint helps synchronization primitives
+        such as page locks or completions can use the lock correctness
+        detector, lockdep.
+
+config LOCKDEP_COMPLETIONS
+       bool
+       help
+        A deadlock caused by wait_for_completion() and complete() can be
+        detected by lockdep using crossrelease feature.
+
 config DEBUG_LOCKDEP
        bool "Lock dependency engine debugging"
        depends on DEBUG_KERNEL && LOCKDEP
@@ -1540,7 +1568,7 @@ config FAULT_INJECTION_STACKTRACE_FILTER
        depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
        depends on !X86_64
        select STACKTRACE
-       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND && !ARC && !SCORE
+       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND && !ARC && !SCORE && !X86
        help
          Provide stacktrace filter for fault-injection capabilities
 
@@ -1549,7 +1577,7 @@ config LATENCYTOP
        depends on DEBUG_KERNEL
        depends on STACKTRACE_SUPPORT
        depends on PROC_FS
-       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND && !ARC
+       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND && !ARC && !X86
        select KALLSYMS
        select KALLSYMS_ALL
        select STACKTRACE
@@ -1902,6 +1930,17 @@ config TEST_KMOD
 
          If unsure, say N.
 
+config TEST_DEBUG_VIRTUAL
+       tristate "Test CONFIG_DEBUG_VIRTUAL feature"
+       depends on DEBUG_VIRTUAL
+       help
+         Test the kernel's ability to detect incorrect calls to
+         virt_to_phys() done against the non-linear part of the
+         kernel's virtual address map.
+
+         If unsure, say N.
+
+
 source "samples/Kconfig"
 
 source "lib/Kconfig.kgdb"