[PARISC] Use compat_sys_getdents
[safe/jmp/linux-2.6] / init / Kconfig
index d2eb7a8..96b5459 100644 (file)
@@ -1,12 +1,13 @@
 config DEFCONFIG_LIST
        string
 config DEFCONFIG_LIST
        string
+       depends on !UML
        option defconfig_list
        default "/lib/modules/$UNAME_RELEASE/.config"
        default "/etc/kernel-config"
        default "/boot/config-$UNAME_RELEASE"
        default "arch/$ARCH/defconfig"
 
        option defconfig_list
        default "/lib/modules/$UNAME_RELEASE/.config"
        default "/etc/kernel-config"
        default "/boot/config-$UNAME_RELEASE"
        default "arch/$ARCH/defconfig"
 
-menu "Code maturity level options"
+menu "General setup"
 
 config EXPERIMENTAL
        bool "Prompt for development and/or incomplete code/drivers"
 
 config EXPERIMENTAL
        bool "Prompt for development and/or incomplete code/drivers"
@@ -60,9 +61,6 @@ config INIT_ENV_ARG_LIMIT
          Maximum of each of the number of arguments and environment
          variables passed to init from the kernel command line.
 
          Maximum of each of the number of arguments and environment
          variables passed to init from the kernel command line.
 
-endmenu
-
-menu "General setup"
 
 config LOCALVERSION
        string "Local version - append to kernel release"
 
 config LOCALVERSION
        string "Local version - append to kernel release"
@@ -79,16 +77,20 @@ config LOCALVERSION_AUTO
        default y
        help
          This will try to automatically determine if the current tree is a
        default y
        help
          This will try to automatically determine if the current tree is a
-         release tree by looking for git tags that
-         belong to the current top of tree revision.
+         release tree by looking for git tags that belong to the current
+         top of tree revision.
 
          A string of the format -gxxxxxxxx will be added to the localversion
 
          A string of the format -gxxxxxxxx will be added to the localversion
-         if a git based tree is found.  The string generated by this will be
+         if a git-based tree is found.  The string generated by this will be
          appended after any matching localversion* files, and after the value
          appended after any matching localversion* files, and after the value
-         set in CONFIG_LOCALVERSION
+         set in CONFIG_LOCALVERSION.
+
+         (The actual string used here is the first eight characters produced
+         by running the command:
+
+           $ git rev-parse --verify HEAD
 
 
-         Note: This requires Perl, and a git repository, but not necessarily
-         the git or cogito tools to be installed.
+         which is done within the script "scripts/setlocalversion".)
 
 config SWAP
        bool "Support for paging of anonymous memory (swap)"
 
 config SWAP
        bool "Support for paging of anonymous memory (swap)"
@@ -115,6 +117,12 @@ config SYSVIPC
          section 6.4 of the Linux Programmer's Guide, available from
          <http://www.tldp.org/guides.html>.
 
          section 6.4 of the Linux Programmer's Guide, available from
          <http://www.tldp.org/guides.html>.
 
+config SYSVIPC_SYSCTL
+       bool
+       depends on SYSVIPC
+       depends on SYSCTL
+       default y
+
 config POSIX_MQUEUE
        bool "POSIX Message Queues"
        depends on NET && EXPERIMENTAL
 config POSIX_MQUEUE
        bool "POSIX Message Queues"
        depends on NET && EXPERIMENTAL
@@ -123,9 +131,7 @@ config POSIX_MQUEUE
          queues every message has a priority which decides about succession
          of receiving it by a process. If you want to compile and run
          programs written e.g. for Solaris with use of its POSIX message
          queues every message has a priority which decides about succession
          of receiving it by a process. If you want to compile and run
          programs written e.g. for Solaris with use of its POSIX message
-         queues (functions mq_*) say Y here. To use this feature you will
-         also need mqueue library, available from
-         <http://www.mat.uni.torun.pl/~wrona/posix_ipc/>
+         queues (functions mq_*) say Y here.
 
          POSIX message queues are visible as a filesystem called 'mqueue'
          and can be mounted somewhere if you want to do filesystem
 
          POSIX message queues are visible as a filesystem called 'mqueue'
          and can be mounted somewhere if you want to do filesystem
@@ -182,6 +188,33 @@ config TASK_DELAY_ACCT
 
          Say N if unsure.
 
 
          Say N if unsure.
 
+config TASK_XACCT
+       bool "Enable extended accounting over taskstats (EXPERIMENTAL)"
+       depends on TASKSTATS
+       help
+         Collect extended task accounting data and send the data
+         to userland for processing over the taskstats interface.
+
+         Say N if unsure.
+
+config TASK_IO_ACCOUNTING
+       bool "Enable per-task storage I/O accounting (EXPERIMENTAL)"
+       depends on TASK_XACCT
+       help
+         Collect information on the number of bytes of storage I/O which this
+         task has caused.
+
+         Say N if unsure.
+
+config USER_NS
+       bool "User Namespaces (EXPERIMENTAL)"
+       default n
+       depends on EXPERIMENTAL
+       help
+         Support user namespaces.  This allows containers, i.e.
+         vservers, to use user namespaces to provide different
+         user info for different servers.  If unsure, say N.
+
 config AUDIT
        bool "Auditing support"
        depends on NET
 config AUDIT
        bool "Auditing support"
        depends on NET
@@ -202,7 +235,7 @@ config AUDITSYSCALL
          ensure that INOTIFY is configured.
 
 config IKCONFIG
          ensure that INOTIFY is configured.
 
 config IKCONFIG
-       bool "Kernel .config support"
+       tristate "Kernel .config support"
        ---help---
          This option enables the complete Linux kernel ".config" file
          contents to be saved in the kernel. It provides documentation
        ---help---
          This option enables the complete Linux kernel ".config" file
          contents to be saved in the kernel. It provides documentation
@@ -220,6 +253,23 @@ config IKCONFIG_PROC
          This option enables access to the kernel configuration file
          through /proc/config.gz.
 
          This option enables access to the kernel configuration file
          through /proc/config.gz.
 
+config LOG_BUF_SHIFT
+       int "Kernel log buffer size (16 => 64KB, 17 => 128KB)"
+       range 12 21
+       default 17 if S390 || LOCKDEP
+       default 16 if X86_NUMAQ || IA64
+       default 15 if SMP
+       default 14
+       help
+         Select kernel log buffer size as a power of 2.
+         Defaults and Examples:
+                    17 => 128 KB for S/390
+                    16 => 64 KB for x86 NUMAQ or IA-64
+                    15 => 32 KB for SMP
+                    14 => 16 KB for uniprocessor
+                    13 =>  8 KB
+                    12 =>  4 KB
+
 config CPUSETS
        bool "Cpuset support"
        depends on SMP
 config CPUSETS
        bool "Cpuset support"
        depends on SMP
@@ -231,6 +281,26 @@ config CPUSETS
 
          Say N if unsure.
 
 
          Say N if unsure.
 
+config SYSFS_DEPRECATED
+       bool "Create deprecated sysfs files"
+       default y
+       help
+         This option creates deprecated symlinks such as the
+         "device"-link, the <subsystem>:<name>-link, and the
+         "bus"-link. It may also add deprecated key in the
+         uevent environment.
+         None of these features or values should be used today, as
+         they export driver core implementation details to userspace
+         or export properties which can't be kept stable across kernel
+         releases.
+
+         If enabled, this option will also move any device structures
+         that belong to a class, back into the /sys/class hierarchy, in
+         order to support older versions of udev.
+
+         If you are using a distro that was released in 2006 or later,
+         it should be safe to say N here.
+
 config RELAY
        bool "Kernel->user space relay support (formerly relayfs)"
        help
 config RELAY
        bool "Kernel->user space relay support (formerly relayfs)"
        help
@@ -242,12 +312,32 @@ config RELAY
 
          If unsure, say N.
 
 
          If unsure, say N.
 
+config BLK_DEV_INITRD
+       bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
+       depends on BROKEN || !FRV
+       help
+         The initial RAM filesystem is a ramfs which is loaded by the
+         boot loader (loadlin or lilo) and that is mounted as root
+         before the normal boot procedure. It is typically used to
+         load modules needed to mount the "real" root file system,
+         etc. See <file:Documentation/initrd.txt> for details.
+
+         If RAM disk support (BLK_DEV_RAM) is also included, this
+         also enables initial RAM disk (initrd) support and adds
+         15 Kbytes (more on some other architectures) to the kernel size.
+
+         If unsure say Y.
+
+if BLK_DEV_INITRD
+
 source "usr/Kconfig"
 
 source "usr/Kconfig"
 
+endif
+
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size (Look out for broken compilers!)"
        default y
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size (Look out for broken compilers!)"
        default y
-       depends on ARM || H8300 || EXPERIMENTAL
+       depends on ARM || H8300 || SUPERH || EXPERIMENTAL
        help
          Enabling this option will pass "-Os" instead of "-O2" to gcc
          resulting in a smaller kernel.
        help
          Enabling this option will pass "-Os" instead of "-O2" to gcc
          resulting in a smaller kernel.
@@ -257,6 +347,9 @@ config CC_OPTIMIZE_FOR_SIZE
 
          If unsure, say N.
 
 
          If unsure, say N.
 
+config SYSCTL
+       bool
+
 menuconfig EMBEDDED
        bool "Configure standard kernel features (for small systems)"
        help
 menuconfig EMBEDDED
        bool "Configure standard kernel features (for small systems)"
        help
@@ -267,33 +360,29 @@ menuconfig EMBEDDED
 
 config UID16
        bool "Enable 16-bit UID system calls" if EMBEDDED
 
 config UID16
        bool "Enable 16-bit UID system calls" if EMBEDDED
-       depends on ARM || CRIS || FRV || H8300 || X86_32 || M68K || (S390 && !64BIT) || SUPERH || SPARC32 || (SPARC64 && SPARC32_COMPAT) || UML || (X86_64 && IA32_EMULATION)
+       depends on ARM || BFIN || CRIS || FRV || H8300 || X86_32 || M68K || (S390 && !64BIT) || SUPERH || SPARC32 || (SPARC64 && SPARC32_COMPAT) || UML || (X86_64 && IA32_EMULATION)
        default y
        help
          This enables the legacy 16-bit UID syscall wrappers.
 
        default y
        help
          This enables the legacy 16-bit UID syscall wrappers.
 
-config SYSCTL
-       bool
-
 config SYSCTL_SYSCALL
 config SYSCTL_SYSCALL
-       bool "Sysctl syscall support"
-       default n
+       bool "Sysctl syscall support" if EMBEDDED
+       default y
        select SYSCTL
        ---help---
        select SYSCTL
        ---help---
-         Enable the deprecated sysctl system call.  sys_sysctl uses
-         binary paths that have been found to be a major pain to maintain
-         and use.  The interface in /proc/sys is now the primary and what
-         everyone uses.
+         sys_sysctl uses binary paths that have been found challenging
+         to properly maintain and use.  The interface in /proc/sys
+         using paths with ascii names is now the primary path to this
+         information.
 
 
-         Nothing has been using the binary sysctl interface for some time
-         time now so nothing should break if you disable sysctl syscall
-         support, and you kernel will get marginally smaller.
+         Almost nothing using the binary sysctl interface so if you are
+         trying to save some space it is probably safe to disable this,
+         making your kernel marginally smaller.
 
 
-         Unless you have an application that uses the sys_syscall interface
-         you should probably say N here.
+         If unsure say Y here.
 
 config KALLSYMS
 
 config KALLSYMS
-        bool "Load all symbols for debugging/kksymoops" if EMBEDDED
+        bool "Load all symbols for debugging/ksymoops" if EMBEDDED
         default y
         help
           Say Y here to let the kernel print out symbolic crash information and
         default y
         help
           Say Y here to let the kernel print out symbolic crash information and
@@ -375,13 +464,47 @@ config FUTEX
          support for "fast userspace mutexes".  The resulting kernel may not
          run glibc-based applications correctly.
 
          support for "fast userspace mutexes".  The resulting kernel may not
          run glibc-based applications correctly.
 
+config ANON_INODES
+       bool
+
 config EPOLL
        bool "Enable eventpoll support" if EMBEDDED
        default y
 config EPOLL
        bool "Enable eventpoll support" if EMBEDDED
        default y
+       select ANON_INODES
        help
          Disabling this option will cause the kernel to be built without
          support for epoll family of system calls.
 
        help
          Disabling this option will cause the kernel to be built without
          support for epoll family of system calls.
 
+config SIGNALFD
+       bool "Enable signalfd() system call" if EMBEDDED
+       select ANON_INODES
+       default y
+       help
+         Enable the signalfd() system call that allows to receive signals
+         on a file descriptor.
+
+         If unsure, say Y.
+
+config TIMERFD
+       bool "Enable timerfd() system call" if EMBEDDED
+       select ANON_INODES
+       default y
+       help
+         Enable the timerfd() system call that allows to receive timer
+         events on a file descriptor.
+
+         If unsure, say Y.
+
+config EVENTFD
+       bool "Enable eventfd() system call" if EMBEDDED
+       select ANON_INODES
+       default y
+       help
+         Enable the eventfd() system call that allows to receive both
+         kernel notification (ie. KAIO) or userspace notifications.
+
+         If unsure, say Y.
+
 config SHMEM
        bool "Use full shmem filesystem" if EMBEDDED
        default y
 config SHMEM
        bool "Use full shmem filesystem" if EMBEDDED
        default y
@@ -393,23 +516,59 @@ config SHMEM
          option replaces shmem and tmpfs with the much simpler ramfs code,
          which may be appropriate on small systems without swap.
 
          option replaces shmem and tmpfs with the much simpler ramfs code,
          which may be appropriate on small systems without swap.
 
-config SLAB
+config VM_EVENT_COUNTERS
        default y
        default y
-       bool "Use full SLAB allocator" if EMBEDDED
+       bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
        help
        help
-         Disabling this replaces the advanced SLAB allocator and
-         kmalloc support with the drastically simpler SLOB allocator.
-         SLOB is more space efficient but does not scale well and is
-         more susceptible to fragmentation.
+         VM event counters are needed for event counts to be shown.
+         This option allows the disabling of the VM event counters
+         on EMBEDDED systems.  /proc/vmstat will only show page counts
+         if VM event counters are disabled.
 
 
-config VM_EVENT_COUNTERS
+config SLUB_DEBUG
        default y
        default y
-       bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
+       bool "Enable SLUB debugging support" if EMBEDDED
+       depends on SLUB
+       help
+         SLUB has extensive debug support features. Disabling these can
+         result in significant savings in code size. This also disables
+         SLUB sysfs support. /sys/slab will not exist and there will be
+         no support for cache validation etc.
+
+choice
+       prompt "Choose SLAB allocator"
+       default SLUB
        help
        help
-         VM event counters are only needed to for event counts to be
-         shown. They have no function for the kernel itself. This
-         option allows the disabling of the VM event counters.
-         /proc/vmstat will only show page counts.
+          This option allows to select a slab allocator.
+
+config SLAB
+       bool "SLAB"
+       help
+         The regular slab allocator that is established and known to work
+         well in all environments. It organizes cache hot objects in
+         per cpu and per node queues. SLAB is the default choice for
+         a slab allocator.
+
+config SLUB
+       bool "SLUB (Unqueued Allocator)"
+       help
+          SLUB is a slab allocator that minimizes cache line usage
+          instead of managing queues of cached objects (SLAB approach).
+          Per cpu caching is realized using slabs of objects instead
+          of queues of objects. SLUB can use memory efficiently
+          and has enhanced diagnostics.
+
+config SLOB
+       depends on EMBEDDED
+       bool "SLOB (Simple Allocator)"
+       help
+          SLOB replaces the SLAB allocator with a drastically simpler
+          allocator.  SLOB is more space efficient than SLAB but does not
+          scale well (single lock for all operations) and is also highly
+          susceptible to fragmentation. SLUB can accomplish a higher object
+          density. It is usually better to use SLUB instead of SLOB.
+
+endchoice
 
 endmenu                # General setup
 
 
 endmenu                # General setup
 
@@ -426,13 +585,7 @@ config BASE_SMALL
        default 0 if BASE_FULL
        default 1 if !BASE_FULL
 
        default 0 if BASE_FULL
        default 1 if !BASE_FULL
 
-config SLOB
-       default !SLAB
-       bool
-
-menu "Loadable module support"
-
-config MODULES
+menuconfig MODULES
        bool "Enable loadable module support"
        help
          Kernel modules are small pieces of compiled code which can
        bool "Enable loadable module support"
        help
          Kernel modules are small pieces of compiled code which can
@@ -512,8 +665,5 @@ config STOP_MACHINE
        depends on (SMP && MODULE_UNLOAD) || HOTPLUG_CPU
        help
          Need stop_machine() primitive.
        depends on (SMP && MODULE_UNLOAD) || HOTPLUG_CPU
        help
          Need stop_machine() primitive.
-endmenu
 
 
-menu "Block layer"
 source "block/Kconfig"
 source "block/Kconfig"
-endmenu