Merge tag 's390-6.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[linux-2.6-microblaze.git] / lib / Kconfig.debug
index 1dd4bd7..c8b379e 100644 (file)
@@ -752,77 +752,6 @@ config SHRINKER_DEBUG
          visibility into the kernel memory shrinkers subsystem.
          Disable it to avoid an extra memory footprint.
 
-config HAVE_DEBUG_KMEMLEAK
-       bool
-
-config DEBUG_KMEMLEAK
-       bool "Kernel memory leak detector"
-       depends on DEBUG_KERNEL && HAVE_DEBUG_KMEMLEAK
-       select DEBUG_FS
-       select STACKTRACE if STACKTRACE_SUPPORT
-       select KALLSYMS
-       select CRC32
-       select STACKDEPOT
-       select STACKDEPOT_ALWAYS_INIT if !DEBUG_KMEMLEAK_DEFAULT_OFF
-       help
-         Say Y here if you want to enable the memory leak
-         detector. The memory allocation/freeing is traced in a way
-         similar to the Boehm's conservative garbage collector, the
-         difference being that the orphan objects are not freed but
-         only shown in /sys/kernel/debug/kmemleak. Enabling this
-         feature will introduce an overhead to memory
-         allocations. See Documentation/dev-tools/kmemleak.rst for more
-         details.
-
-         Enabling DEBUG_SLAB or SLUB_DEBUG may increase the chances
-         of finding leaks due to the slab objects poisoning.
-
-         In order to access the kmemleak file, debugfs needs to be
-         mounted (usually at /sys/kernel/debug).
-
-config DEBUG_KMEMLEAK_MEM_POOL_SIZE
-       int "Kmemleak memory pool size"
-       depends on DEBUG_KMEMLEAK
-       range 200 1000000
-       default 16000
-       help
-         Kmemleak must track all the memory allocations to avoid
-         reporting false positives. Since memory may be allocated or
-         freed before kmemleak is fully initialised, use a static pool
-         of metadata objects to track such callbacks. After kmemleak is
-         fully initialised, this memory pool acts as an emergency one
-         if slab allocations fail.
-
-config DEBUG_KMEMLEAK_TEST
-       tristate "Simple test for the kernel memory leak detector"
-       depends on DEBUG_KMEMLEAK && m
-       help
-         This option enables a module that explicitly leaks memory.
-
-         If unsure, say N.
-
-config DEBUG_KMEMLEAK_DEFAULT_OFF
-       bool "Default kmemleak to off"
-       depends on DEBUG_KMEMLEAK
-       help
-         Say Y here to disable kmemleak by default. It can then be enabled
-         on the command line via kmemleak=on.
-
-config DEBUG_KMEMLEAK_AUTO_SCAN
-       bool "Enable kmemleak auto scan thread on boot up"
-       default y
-       depends on DEBUG_KMEMLEAK
-       help
-         Depending on the cpu, kmemleak scan may be cpu intensive and can
-         stall user tasks at times. This option enables/disables automatic
-         kmemleak scan at boot up.
-
-         Say N here to disable kmemleak auto scan thread to stop automatic
-         scanning. Disabling this option disables automatic reporting of
-         memory leaks.
-
-         If unsure, say Y.
-
 config DEBUG_STACK_USAGE
        bool "Stack utilization instrumentation"
        depends on DEBUG_KERNEL && !IA64
@@ -1256,13 +1185,16 @@ config DEBUG_TIMEKEEPING
 config DEBUG_PREEMPT
        bool "Debug preemptible kernel"
        depends on DEBUG_KERNEL && PREEMPTION && TRACE_IRQFLAGS_SUPPORT
-       default y
        help
          If you say Y here then the kernel will use a debug variant of the
          commonly used smp_processor_id() function and will print warnings
          if kernel code uses it in a preemption-unsafe way. Also, the kernel
          will detect preemption count underflows.
 
+         This option has potential to introduce high runtime overhead,
+         depending on workload as it triggers debugging routines for each
+         this_cpu operation. It should only be used for debugging purposes.
+
 menu "Lock Debugging (spinlocks, mutexes, etc...)"
 
 config LOCK_DEBUGGING_SUPPORT
@@ -2100,6 +2032,41 @@ menuconfig RUNTIME_TESTING_MENU
 
 if RUNTIME_TESTING_MENU
 
+config TEST_DHRY
+       tristate "Dhrystone benchmark test"
+       help
+         Enable this to include the Dhrystone 2.1 benchmark.  This test
+         calculates the number of Dhrystones per second, and the number of
+         DMIPS (Dhrystone MIPS) obtained when the Dhrystone score is divided
+         by 1757 (the number of Dhrystones per second obtained on the VAX
+         11/780, nominally a 1 MIPS machine).
+
+         To run the benchmark, it needs to be enabled explicitly, either from
+         the kernel command line (when built-in), or from userspace (when
+         built-in or modular.
+
+         Run once during kernel boot:
+
+             test_dhry.run
+
+         Set number of iterations from kernel command line:
+
+             test_dhry.iterations=<n>
+
+         Set number of iterations from userspace:
+
+             echo <n> > /sys/module/test_dhry/parameters/iterations
+
+         Trigger manual run from userspace:
+
+             echo y > /sys/module/test_dhry/parameters/run
+
+         If the number of iterations is <= 0, the test will devise a suitable
+         number of iterations (test runs for at least 2s) automatically.
+         This process takes ca. 4s.
+
+         If unsure, say N.
+
 config LKDTM
        tristate "Linux Kernel Dump Test Tool Module"
        depends on DEBUG_FS