]> err.no Git - linux-2.6/blobdiff - init/Kconfig
Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw
[linux-2.6] / init / Kconfig
index 29d9e47ee0dad6521dc567a130628f67c0042e6b..ebe04f56d8343b980814b5ee551cc7f62242e282 100644 (file)
@@ -356,7 +356,7 @@ 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.
@@ -478,15 +478,6 @@ 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
-       default y
-       bool "Use full SLAB allocator" if (EMBEDDED && !SMP && !SPARSEMEM)
-       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.
-
 config VM_EVENT_COUNTERS
        default y
        bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
 config VM_EVENT_COUNTERS
        default y
        bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
@@ -496,6 +487,46 @@ config VM_EVENT_COUNTERS
          on EMBEDDED systems.  /proc/vmstat will only show page counts
          if VM event counters are disabled.
 
          on EMBEDDED systems.  /proc/vmstat will only show page counts
          if VM event counters are disabled.
 
+choice
+       prompt "Choose SLAB allocator"
+       default SLAB
+       help
+          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 chache hot objects in
+         per cpu and per node queues. SLAB is the default choice for
+         slab allocator.
+
+config SLUB
+       depends on EXPERIMENTAL && !ARCH_USES_SLAB_PAGE_STRUCT
+       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
+          way and has enhanced diagnostics.
+
+config SLOB
+#
+#      SLOB cannot support SMP because SLAB_DESTROY_BY_RCU does not work
+#      properly.
+#
+       depends on EMBEDDED && !SMP && !SPARSEMEM
+       bool "SLOB (Simple Allocator)"
+       help
+          SLOB replaces the SLAB allocator with a drastically simpler
+          allocator.  SLOB is more space efficient that SLAB but does not
+          scale well (single lock for all operations) and is more susceptible
+          to fragmentation. SLOB it is a great choice to reduce
+          memory usage and code size for embedded systems.
+
+endchoice
+
 endmenu                # General setup
 
 config RT_MUTEXES
 endmenu                # General setup
 
 config RT_MUTEXES
@@ -511,10 +542,6 @@ 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
 menu "Loadable module support"
 
 config MODULES