aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig53
1 files changed, 40 insertions, 13 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 29d9e47ee0da..7ce952052947 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -478,15 +478,6 @@ config SHMEM
478 option replaces shmem and tmpfs with the much simpler ramfs code, 478 option replaces shmem and tmpfs with the much simpler ramfs code,
479 which may be appropriate on small systems without swap. 479 which may be appropriate on small systems without swap.
480 480
481config SLAB
482 default y
483 bool "Use full SLAB allocator" if (EMBEDDED && !SMP && !SPARSEMEM)
484 help
485 Disabling this replaces the advanced SLAB allocator and
486 kmalloc support with the drastically simpler SLOB allocator.
487 SLOB is more space efficient but does not scale well and is
488 more susceptible to fragmentation.
489
490config VM_EVENT_COUNTERS 481config VM_EVENT_COUNTERS
491 default y 482 default y
492 bool "Enable VM event counters for /proc/vmstat" if EMBEDDED 483 bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
@@ -496,6 +487,46 @@ config VM_EVENT_COUNTERS
496 on EMBEDDED systems. /proc/vmstat will only show page counts 487 on EMBEDDED systems. /proc/vmstat will only show page counts
497 if VM event counters are disabled. 488 if VM event counters are disabled.
498 489
490choice
491 prompt "Choose SLAB allocator"
492 default SLAB
493 help
494 This option allows to select a slab allocator.
495
496config SLAB
497 bool "SLAB"
498 help
499 The regular slab allocator that is established and known to work
500 well in all environments. It organizes chache hot objects in
501 per cpu and per node queues. SLAB is the default choice for
502 slab allocator.
503
504config SLUB
505 depends on EXPERIMENTAL && !ARCH_USES_SLAB_PAGE_STRUCT
506 bool "SLUB (Unqueued Allocator)"
507 help
508 SLUB is a slab allocator that minimizes cache line usage
509 instead of managing queues of cached objects (SLAB approach).
510 Per cpu caching is realized using slabs of objects instead
511 of queues of objects. SLUB can use memory efficiently
512 way and has enhanced diagnostics.
513
514config SLOB
515#
516# SLOB cannot support SMP because SLAB_DESTROY_BY_RCU does not work
517# properly.
518#
519 depends on EMBEDDED && !SMP && !SPARSEMEM
520 bool "SLOB (Simple Allocator)"
521 help
522 SLOB replaces the SLAB allocator with a drastically simpler
523 allocator. SLOB is more space efficient that SLAB but does not
524 scale well (single lock for all operations) and is more susceptible
525 to fragmentation. SLOB it is a great choice to reduce
526 memory usage and code size for embedded systems.
527
528endchoice
529
499endmenu # General setup 530endmenu # General setup
500 531
501config RT_MUTEXES 532config RT_MUTEXES
@@ -511,10 +542,6 @@ config BASE_SMALL
511 default 0 if BASE_FULL 542 default 0 if BASE_FULL
512 default 1 if !BASE_FULL 543 default 1 if !BASE_FULL
513 544
514config SLOB
515 default !SLAB
516 bool
517
518menu "Loadable module support" 545menu "Loadable module support"
519 546
520config MODULES 547config MODULES