x86, kgdb, init: Add early and late debug states
[safe/jmp/linux-2.6] / init / Kconfig
index eb4b337..5fe94b8 100644 (file)
@@ -115,10 +115,13 @@ config HAVE_KERNEL_BZIP2
 config HAVE_KERNEL_LZMA
        bool
 
 config HAVE_KERNEL_LZMA
        bool
 
+config HAVE_KERNEL_LZO
+       bool
+
 choice
        prompt "Kernel compression mode"
        default KERNEL_GZIP
 choice
        prompt "Kernel compression mode"
        default KERNEL_GZIP
-       depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA
+       depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_LZO
        help
          The linux kernel is a kind of self-extracting executable.
          Several compression algorithms are available, which differ
        help
          The linux kernel is a kind of self-extracting executable.
          Several compression algorithms are available, which differ
@@ -141,9 +144,8 @@ config KERNEL_GZIP
        bool "Gzip"
        depends on HAVE_KERNEL_GZIP
        help
        bool "Gzip"
        depends on HAVE_KERNEL_GZIP
        help
-         The old and tried gzip compression. Its compression ratio is
-         the poorest among the 3 choices; however its speed (both
-         compression and decompression) is the fastest.
+         The old and tried gzip compression. It provides a good balance
+         between compression ratio and decompression speed.
 
 config KERNEL_BZIP2
        bool "Bzip2"
 
 config KERNEL_BZIP2
        bool "Bzip2"
@@ -164,6 +166,14 @@ config KERNEL_LZMA
          two. Compression is slowest.  The kernel size is about 33%
          smaller with LZMA in comparison to gzip.
 
          two. Compression is slowest.  The kernel size is about 33%
          smaller with LZMA in comparison to gzip.
 
+config KERNEL_LZO
+       bool "LZO"
+       depends on HAVE_KERNEL_LZO
+       help
+         Its compression ratio is the poorest among the 4. The kernel
+         size is about about 10% bigger than gzip; however its speed
+         (both compression and decompression) is the fastest.
+
 endchoice
 
 config SWAP
 endchoice
 
 config SWAP
@@ -334,6 +344,15 @@ config TREE_PREEMPT_RCU
          is also required.  It also scales down nicely to
          smaller systems.
 
          is also required.  It also scales down nicely to
          smaller systems.
 
+config TINY_RCU
+       bool "UP-only small-memory-footprint RCU"
+       depends on !SMP
+       help
+         This option selects the RCU implementation that is
+         designed for UP systems from which real-time response
+         is not required.  This option greatly reduces the
+         memory footprint of RCU.
+
 endchoice
 
 config RCU_TRACE
 endchoice
 
 config RCU_TRACE
@@ -377,6 +396,22 @@ config RCU_FANOUT_EXACT
 
          Say N if unsure.
 
 
          Say N if unsure.
 
+config RCU_FAST_NO_HZ
+       bool "Accelerate last non-dyntick-idle CPU's grace periods"
+       depends on TREE_RCU && NO_HZ && SMP
+       default n
+       help
+         This option causes RCU to attempt to accelerate grace periods
+         in order to allow the final CPU to enter dynticks-idle state
+         more quickly.  On the other hand, this option increases the
+         overhead of the dynticks-idle checking, particularly on systems
+         with large numbers of CPUs.
+
+         Say Y if energy efficiency is critically important, particularly
+               if you have relatively few CPUs.
+
+         Say N if you are unsure.
+
 config TREE_RCU_TRACE
        def_bool RCU_TRACE && ( TREE_RCU || TREE_PREEMPT_RCU )
        select DEBUG_FS
 config TREE_RCU_TRACE
        def_bool RCU_TRACE && ( TREE_RCU || TREE_PREEMPT_RCU )
        select DEBUG_FS
@@ -426,59 +461,9 @@ config LOG_BUF_SHIFT
 config HAVE_UNSTABLE_SCHED_CLOCK
        bool
 
 config HAVE_UNSTABLE_SCHED_CLOCK
        bool
 
-config GROUP_SCHED
-       bool "Group CPU scheduler"
-       depends on EXPERIMENTAL
-       default n
-       help
-         This feature lets CPU scheduler recognize task groups and control CPU
-         bandwidth allocation to such task groups.
-         In order to create a group from arbitrary set of processes, use
-         CONFIG_CGROUPS. (See Control Group support.)
-
-config FAIR_GROUP_SCHED
-       bool "Group scheduling for SCHED_OTHER"
-       depends on GROUP_SCHED
-       default GROUP_SCHED
-
-config RT_GROUP_SCHED
-       bool "Group scheduling for SCHED_RR/FIFO"
-       depends on EXPERIMENTAL
-       depends on GROUP_SCHED
-       default n
-       help
-         This feature lets you explicitly allocate real CPU bandwidth
-         to users or control groups (depending on the "Basis for grouping tasks"
-         setting below. If enabled, it will also make it impossible to
-         schedule realtime tasks for non-root users until you allocate
-         realtime bandwidth for them.
-         See Documentation/scheduler/sched-rt-group.txt for more information.
-
-choice
-       depends on GROUP_SCHED
-       prompt "Basis for grouping tasks"
-       default USER_SCHED
-
-config USER_SCHED
-       bool "user id"
-       help
-         This option will choose userid as the basis for grouping
-         tasks, thus providing equal CPU bandwidth to each user.
-
-config CGROUP_SCHED
-       bool "Control groups"
-       depends on CGROUPS
-       help
-         This option allows you to create arbitrary task groups
-         using the "cgroup" pseudo filesystem and control
-         the cpu bandwidth allocated to each such task group.
-         Refer to Documentation/cgroups/cgroups.txt for more
-         information on "cgroup" pseudo filesystem.
-
-endchoice
-
 menuconfig CGROUPS
        boolean "Control Group support"
 menuconfig CGROUPS
        boolean "Control Group support"
+       depends on EVENTFD
        help
          This option adds support for grouping sets of processes together, for
          use with process control subsystems such as Cpusets, CFS, memory
        help
          This option adds support for grouping sets of processes together, for
          use with process control subsystems such as Cpusets, CFS, memory
@@ -597,6 +582,35 @@ config CGROUP_MEM_RES_CTLR_SWAP
          Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
          size is 4096bytes, 512k per 1Gbytes of swap.
 
          Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
          size is 4096bytes, 512k per 1Gbytes of swap.
 
+menuconfig CGROUP_SCHED
+       bool "Group CPU scheduler"
+       depends on EXPERIMENTAL && CGROUPS
+       default n
+       help
+         This feature lets CPU scheduler recognize task groups and control CPU
+         bandwidth allocation to such task groups. It uses cgroups to group
+         tasks.
+
+if CGROUP_SCHED
+config FAIR_GROUP_SCHED
+       bool "Group scheduling for SCHED_OTHER"
+       depends on CGROUP_SCHED
+       default CGROUP_SCHED
+
+config RT_GROUP_SCHED
+       bool "Group scheduling for SCHED_RR/FIFO"
+       depends on EXPERIMENTAL
+       depends on CGROUP_SCHED
+       default n
+       help
+         This feature lets you explicitly allocate real CPU bandwidth
+         to task groups. If enabled, it will also make it impossible to
+         schedule realtime tasks for non-root users until you allocate
+         realtime bandwidth for them.
+         See Documentation/scheduler/sched-rt-group.txt for more information.
+
+endif #CGROUP_SCHED
+
 endif # CGROUPS
 
 config MM_OWNER
 endif # CGROUPS
 
 config MM_OWNER
@@ -606,7 +620,7 @@ config SYSFS_DEPRECATED
        bool
 
 config SYSFS_DEPRECATED_V2
        bool
 
 config SYSFS_DEPRECATED_V2
-       bool "enable deprecated sysfs features which may confuse old userspace tools"
+       bool "enable deprecated sysfs features to support old userspace tools"
        depends on SYSFS
        default n
        select SYSFS_DEPRECATED
        depends on SYSFS
        default n
        select SYSFS_DEPRECATED
@@ -754,6 +768,7 @@ config UID16
 
 config SYSCTL_SYSCALL
        bool "Sysctl syscall support" if EMBEDDED
 
 config SYSCTL_SYSCALL
        bool "Sysctl syscall support" if EMBEDDED
+       depends on PROC_SYSCTL
        default y
        select SYSCTL
        ---help---
        default y
        select SYSCTL
        ---help---
@@ -956,19 +971,6 @@ config PERF_EVENTS
 
          Say Y if unsure.
 
 
          Say Y if unsure.
 
-config EVENT_PROFILE
-       bool "Tracepoint profiling sources"
-       depends on PERF_EVENTS && EVENT_TRACING
-       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
 config PERF_COUNTERS
        bool "Kernel performance counters (old config option)"
        depends on HAVE_PERF_EVENTS
@@ -1069,8 +1071,30 @@ config SLOB
 
 endchoice
 
 
 endchoice
 
+config MMAP_ALLOW_UNINITIALIZED
+       bool "Allow mmapped anonymous memory to be uninitialized"
+       depends on EMBEDDED && !MMU
+       default n
+       help
+         Normally, and according to the Linux spec, anonymous memory obtained
+         from mmap() has it's contents cleared before it is passed to
+         userspace.  Enabling this config option allows you to request that
+         mmap() skip that if it is given an MAP_UNINITIALIZED flag, thus
+         providing a huge performance boost.  If this option is not enabled,
+         then the flag will be ignored.
+
+         This is taken advantage of by uClibc's malloc(), and also by
+         ELF-FDPIC binfmt's brk and stack allocator.
+
+         Because of the obvious security issues, this option should only be
+         enabled on embedded devices where you control what is run in
+         userspace.  Since that isn't generally a problem on no-MMU systems,
+         it is normally safe to say Y here.
+
+         See Documentation/nommu-mmap.txt for more information.
+
 config PROFILING
 config PROFILING
-       bool "Profiling support (EXPERIMENTAL)"
+       bool "Profiling support"
        help
          Say Y here to enable the extended profiling support mechanisms used
          by profilers such as OProfile.
        help
          Say Y here to enable the extended profiling support mechanisms used
          by profilers such as OProfile.
@@ -1220,3 +1244,8 @@ source "block/Kconfig"
 config PREEMPT_NOTIFIERS
        bool
 
 config PREEMPT_NOTIFIERS
        bool
 
+config PADATA
+       depends on SMP
+       bool
+
+source "kernel/Kconfig.locks"