ray_cs: convert to proc_fops
[safe/jmp/linux-2.6] / init / Kconfig
index aef16f9..9e03ef8 100644 (file)
@@ -16,6 +16,11 @@ config DEFCONFIG_LIST
        default "$ARCH_DEFCONFIG"
        default "arch/$ARCH/defconfig"
 
        default "$ARCH_DEFCONFIG"
        default "arch/$ARCH/defconfig"
 
+config CONSTRUCTORS
+       bool
+       depends on !UML
+       default y
+
 menu "General setup"
 
 config EXPERIMENTAL
 menu "General setup"
 
 config EXPERIMENTAL
@@ -292,7 +297,7 @@ config AUDIT
 
 config AUDITSYSCALL
        bool "Enable system-call auditing support"
 
 config AUDITSYSCALL
        bool "Enable system-call auditing support"
-       depends on AUDIT && (X86 || PPC || PPC64 || S390 || IA64 || UML || SPARC64|| SUPERH)
+       depends on AUDIT && (X86 || PPC || S390 || IA64 || UML || SPARC64 || SUPERH)
        default y if SECURITY_SELINUX
        help
          Enable low-overhead system-call auditing infrastructure that
        default y if SECURITY_SELINUX
        help
          Enable low-overhead system-call auditing infrastructure that
@@ -302,46 +307,38 @@ config AUDITSYSCALL
 
 config AUDIT_TREE
        def_bool y
 
 config AUDIT_TREE
        def_bool y
-       depends on AUDITSYSCALL && INOTIFY
+       depends on AUDITSYSCALL
+       select INOTIFY
 
 menu "RCU Subsystem"
 
 choice
        prompt "RCU Implementation"
 
 menu "RCU Subsystem"
 
 choice
        prompt "RCU Implementation"
-       default CLASSIC_RCU
-
-config CLASSIC_RCU
-       bool "Classic RCU"
-       help
-         This option selects the classic RCU implementation that is
-         designed for best read-side performance on non-realtime
-         systems.
-
-         Select this option if you are unsure.
+       default TREE_RCU
 
 config TREE_RCU
        bool "Tree-based hierarchical RCU"
        help
          This option selects the RCU implementation that is
          designed for very large SMP system with hundreds or
 
 config TREE_RCU
        bool "Tree-based hierarchical RCU"
        help
          This option selects the RCU implementation that is
          designed for very large SMP system with hundreds or
-         thousands of CPUs.
+         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.  It also scales down nicely to
+         smaller systems.
 
 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.
@@ -353,7 +350,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
@@ -368,7 +365,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,
@@ -381,18 +378,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
+       def_bool RCU_TRACE && ( TREE_RCU || TREE_PREEMPT_RCU )
        select DEBUG_FS
        help
        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
-       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"
 
@@ -615,13 +606,13 @@ config SYSFS_DEPRECATED
        bool
 
 config SYSFS_DEPRECATED_V2
        bool
 
 config SYSFS_DEPRECATED_V2
-       bool "Create deprecated sysfs layout for older userspace tools"
+       bool "remove sysfs features which may confuse old userspace tools"
        depends on SYSFS
        depends on SYSFS
-       default y
+       default n
        select SYSFS_DEPRECATED
        help
          This option switches the layout of sysfs to the deprecated
        select SYSFS_DEPRECATED
        help
          This option switches the layout of sysfs to the deprecated
-         version.
+         version. Do not use it on recent distributions.
 
          The current sysfs layout features a unified device tree at
          /sys/devices/, which is able to express a hierarchy between
 
          The current sysfs layout features a unified device tree at
          /sys/devices/, which is able to express a hierarchy between
@@ -808,14 +799,6 @@ config KALLSYMS_EXTRA_PASS
           you wait for kallsyms to be fixed.
 
 
           you wait for kallsyms to be fixed.
 
 
-config STRIP_ASM_SYMS
-       bool "Strip assembler-generated symbols during link"
-       default n
-       help
-         Strip internal assembler-generated symbols during a link (symbols
-         that look like '.Lxxx') so they don't pollute the output of
-         get_wchan() and suchlike.
-
 config HOTPLUG
        bool "Support for hot-pluggable devices" if EMBEDDED
        default y
 config HOTPLUG
        bool "Support for hot-pluggable devices" if EMBEDDED
        default y
@@ -933,37 +916,83 @@ config AIO
           by some high performance threaded applications. Disabling
           this option saves about 7k.
 
           by some high performance threaded applications. Disabling
           this option saves about 7k.
 
-config HAVE_PERF_COUNTERS
+config HAVE_PERF_EVENTS
        bool
        bool
+       help
+         See tools/perf/design.txt for details.
 
 
-menu "Performance Counters"
+config PERF_USE_VMALLOC
+       bool
+       help
+         See tools/perf/design.txt for details
 
 
-config PERF_COUNTERS
-       bool "Kernel Performance Counters"
-       depends on HAVE_PERF_COUNTERS
+menu "Kernel Performance Events And Counters"
+
+config PERF_EVENTS
+       bool "Kernel performance events and counters"
+       default y if (PROFILING || PERF_COUNTERS)
+       depends on HAVE_PERF_EVENTS
        select ANON_INODES
        help
        select ANON_INODES
        help
-         Enable kernel support for performance counter hardware.
+         Enable kernel support for various performance events provided
+         by software and hardware.
+
+         Software events are supported either built-in or via the
+         use of generic tracepoints.
 
 
-         Performance counters are special hardware registers available
-         on most modern CPUs. These registers count the number of certain
+         Most modern CPUs support performance events via performance
+         counter registers. These registers count the number of certain
          types of hw events: such as instructions executed, cachemisses
          suffered, or branches mis-predicted - without slowing down the
          kernel or applications. These registers can also trigger interrupts
          when a threshold number of events have passed - and can thus be
          used to profile the code that runs on that CPU.
 
          types of hw events: such as instructions executed, cachemisses
          suffered, or branches mis-predicted - without slowing down the
          kernel or applications. These registers can also trigger interrupts
          when a threshold number of events have passed - and can thus be
          used to profile the code that runs on that CPU.
 
-         The Linux Performance Counter subsystem provides an abstraction of
-         these hardware capabilities, available via a system call. It
+         The Linux Performance Event subsystem provides an abstraction of
+         these software and hardware event capabilities, available via a
+         system call and used by the "perf" utility in tools/perf/. It
          provides per task and per CPU counters, and it provides event
          capabilities on top of those.
 
          Say Y if unsure.
 
 config EVENT_PROFILE
          provides per task and per CPU counters, and it provides event
          capabilities on top of those.
 
          Say Y if unsure.
 
 config EVENT_PROFILE
-       bool "Tracepoint profile sources"
-       depends on PERF_COUNTERS && EVENT_TRACER
+       bool "Tracepoint profiling sources"
+       depends on PERF_EVENTS && EVENT_TRACING
        default y
        default y
+       help
+        Allow the use of tracepoints as software performance events.
+
+        When this is enabled, you can create perf events 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.)
+
+config PERF_COUNTERS
+       bool "Kernel performance counters (old config option)"
+       depends on HAVE_PERF_EVENTS
+       help
+         This config has been obsoleted by the PERF_EVENTS
+         config option - please see that one for details.
+
+         It has no effect on the kernel whether you enable
+         it or not, it is a compatibility placeholder.
+
+         Say N if unsure.
+
+config DEBUG_PERF_USE_VMALLOC
+       default n
+       bool "Debug: use vmalloc to back perf mmap() buffers"
+       depends on PERF_EVENTS && DEBUG_KERNEL
+       select PERF_USE_VMALLOC
+       help
+        Use vmalloc memory to back perf mmap() buffers.
+
+        Mostly useful for debugging the vmalloc code on platforms
+        that don't require it.
+
+        Say N if unsure.
 
 endmenu
 
 
 endmenu
 
@@ -1053,13 +1082,6 @@ config PROFILING
 config TRACEPOINTS
        bool
 
 config TRACEPOINTS
        bool
 
-config MARKERS
-       bool "Activate markers"
-       select TRACEPOINTS
-       help
-         Place an empty function call at each marker site. Can be
-         dynamically changed for a probe function.
-
 source "arch/Kconfig"
 
 config SLOW_WORK
 source "arch/Kconfig"
 
 config SLOW_WORK