]> err.no Git - linux-2.6/blobdiff - kernel/Kconfig.preempt
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
[linux-2.6] / kernel / Kconfig.preempt
index 0b46a5dff4c047c72f9d062484124bd3261cf1a3..9fdba03dc1fcd119c31274fb3590480aa1db9f05 100644 (file)
@@ -23,7 +23,7 @@ config PREEMPT_VOLUNTARY
          "explicit preemption points" to the kernel code. These new
          preemption points have been selected to reduce the maximum
          latency of rescheduling, providing faster application reactions,
          "explicit preemption points" to the kernel code. These new
          preemption points have been selected to reduce the maximum
          latency of rescheduling, providing faster application reactions,
-         at the cost of slighly lower throughput.
+         at the cost of slightly lower throughput.
 
          This allows reaction to interactive events by allowing a
          low priority process to voluntarily preempt itself even if it
 
          This allows reaction to interactive events by allowing a
          low priority process to voluntarily preempt itself even if it
@@ -43,7 +43,7 @@ config PREEMPT
          even if it is in kernel mode executing a system call and would
          otherwise not be about to reach a natural preemption point.
          This allows applications to run more 'smoothly' even when the
          even if it is in kernel mode executing a system call and would
          otherwise not be about to reach a natural preemption point.
          This allows applications to run more 'smoothly' even when the
-         system is under load, at the cost of slighly lower throughput
+         system is under load, at the cost of slightly lower throughput
          and a slight runtime overhead to kernel code.
 
          Select this if you are building a kernel for a desktop or
          and a slight runtime overhead to kernel code.
 
          Select this if you are building a kernel for a desktop or
@@ -52,14 +52,28 @@ config PREEMPT
 
 endchoice
 
 
 endchoice
 
-config PREEMPT_BKL
-       bool "Preempt The Big Kernel Lock"
-       depends on SMP || PREEMPT
-       default y
+config PREEMPT_RCU
+       bool "Preemptible RCU"
+       depends on PREEMPT
+       default n
        help
        help
-         This option reduces the latency of the kernel by making the
-         big kernel lock preemptible.
+         This option reduces the latency of the kernel by making certain
+         RCU sections preemptible. Normally RCU code is non-preemptible, if
+         this option is selected then read-only RCU sections become
+         preemptible. This helps latency, but may expose bugs due to
+         now-naive assumptions about each RCU read-side critical section
+         remaining on a given CPU through its execution.
 
 
-         Say Y here if you are building a kernel for a desktop system.
          Say N if you are unsure.
 
          Say N if you are unsure.
 
+config RCU_TRACE
+       bool "Enable tracing for RCU - currently stats in debugfs"
+       depends on PREEMPT_RCU
+       select DEBUG_FS
+       default y
+       help
+         This option provides tracing in RCU which presents stats
+         in debugfs for debugging RCU implementation.
+
+         Say Y here if you want to enable RCU tracing
+         Say N if you are unsure.