Merge branch 'linus' into core/rcu
[safe/jmp/linux-2.6] / init / Kconfig
index d10f31d..8e8b76d 100644 (file)
@@ -324,22 +324,20 @@ config TREE_RCU
          thousands of CPUs.  It also scales down nicely to
          smaller systems.
 
          thousands of CPUs.  It also scales down nicely to
          smaller systems.
 
-config PREEMPT_RCU
-       bool "Preemptible RCU"
+config TREE_PREEMPT_RCU
+       bool "Preemptable tree-based hierarchical RCU"
        depends on PREEMPT
        help
        depends on PREEMPT
        help
-         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.
+         This option selects the RCU implementation that is
+         designed for very large SMP systems with hundreds or
+         thousands of CPUs, but for which real-time response
+         is also required.
 
 endchoice
 
 config RCU_TRACE
        bool "Enable tracing for RCU"
 
 endchoice
 
 config RCU_TRACE
        bool "Enable tracing for RCU"
-       depends on TREE_RCU || PREEMPT_RCU
+       depends on TREE_RCU || TREE_PREEMPT_RCU
        help
          This option provides tracing in RCU which presents stats
          in debugfs for debugging RCU implementation.
        help
          This option provides tracing in RCU which presents stats
          in debugfs for debugging RCU implementation.
@@ -351,7 +349,7 @@ config RCU_FANOUT
        int "Tree-based hierarchical RCU fanout value"
        range 2 64 if 64BIT
        range 2 32 if !64BIT
        int "Tree-based hierarchical RCU fanout value"
        range 2 64 if 64BIT
        range 2 32 if !64BIT
-       depends on TREE_RCU
+       depends on TREE_RCU || TREE_PREEMPT_RCU
        default 64 if 64BIT
        default 32 if !64BIT
        help
        default 64 if 64BIT
        default 32 if !64BIT
        help
@@ -366,7 +364,7 @@ config RCU_FANOUT
 
 config RCU_FANOUT_EXACT
        bool "Disable tree-based hierarchical RCU auto-balancing"
 
 config RCU_FANOUT_EXACT
        bool "Disable tree-based hierarchical RCU auto-balancing"
-       depends on TREE_RCU
+       depends on TREE_RCU || TREE_PREEMPT_RCU
        default n
        help
          This option forces use of the exact RCU_FANOUT value specified,
        default n
        help
          This option forces use of the exact RCU_FANOUT value specified,
@@ -379,18 +377,12 @@ config RCU_FANOUT_EXACT
          Say N if unsure.
 
 config TREE_RCU_TRACE
          Say N if unsure.
 
 config TREE_RCU_TRACE
-       def_bool RCU_TRACE && TREE_RCU
-       select DEBUG_FS
-       help
-         This option provides tracing for the TREE_RCU implementation,
-         permitting Makefile to trivially select kernel/rcutree_trace.c.
-
-config PREEMPT_RCU_TRACE
-       def_bool RCU_TRACE && PREEMPT_RCU
+       def_bool RCU_TRACE && ( TREE_RCU || TREE_PREEMPT_RCU )
        select DEBUG_FS
        help
        select DEBUG_FS
        help
-         This option provides tracing for the PREEMPT_RCU implementation,
-         permitting Makefile to trivially select kernel/rcupreempt_trace.c.
+         This option provides tracing for the TREE_RCU and
+         TREE_PREEMPT_RCU implementations, permitting Makefile to
+         trivially select kernel/rcutree_trace.c.
 
 endmenu # "RCU Subsystem"
 
 
 endmenu # "RCU Subsystem"
 
@@ -932,6 +924,7 @@ menu "Performance Counters"
 
 config PERF_COUNTERS
        bool "Kernel Performance Counters"
 
 config PERF_COUNTERS
        bool "Kernel Performance Counters"
+       default y if PROFILING
        depends on HAVE_PERF_COUNTERS
        select ANON_INODES
        help
        depends on HAVE_PERF_COUNTERS
        select ANON_INODES
        help
@@ -953,9 +946,17 @@ config PERF_COUNTERS
          Say Y if unsure.
 
 config EVENT_PROFILE
          Say Y if unsure.
 
 config EVENT_PROFILE
-       bool "Tracepoint profile sources"
-       depends on PERF_COUNTERS && EVENT_TRACER
+       bool "Tracepoint profiling sources"
+       depends on PERF_COUNTERS && EVENT_TRACING
        default y
        default y
+       help
+        Allow the use of tracepoints as software performance counters.
+
+        When this is enabled, you can create perf counters based on
+        tracepoints using PERF_TYPE_TRACEPOINT and the tracepoint ID
+        found in debugfs://tracing/events/*/*/id. (The -e/--events
+        option to the perf tool can parse and interpret symbolic
+        tracepoints, in the subsystem:tracepoint_name format.)
 
 endmenu
 
 
 endmenu