Improve init/Kconfig help descriptions [PATCH 8/9]

From: Nick Andrew
Date: Tue Feb 19 2008 - 10:22:20 EST


On Wed, Feb 20, 2008 at 01:06:09AM +1100, Nick Andrew wrote:
> Here is a series of 9 patches to init/Kconfig intended to improve the
> usefulness and consistency of the help descriptions. The patches are
> against linux-2.6.24.2.
> [...]
> Patch 8
> SLUB_DEBUG
> SLAB
> SLUB
> SLOB

Changelog:

Improve usefulness and consistency of kernel configuration help messages.

Signed-off-by: Nick Andrew <nick@xxxxxxxxxxxxxxx>


--- a/init/Kconfig 2008-02-20 00:45:07.000000000 +1100
+++ b/init/Kconfig 2008-02-20 00:52:07.000000000 +1100
@@ -616,31 +616,48 @@ config SLUB_DEBUG
bool "Enable SLUB debugging support" if EMBEDDED
depends on SLUB
help
+ Enable debugging on the "SLUB" slab allocator.
+
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.

+ If unsure, say N.
+
choice
prompt "Choose SLAB allocator"
default SLUB
help
- This option allows to select a slab allocator.
+ This option selects a slab allocator.
+
+ A slab is a contiguous area of kernel memory. Slabs are of
+ fixed size (1 or more times the page size) and are used as
+ the container for allocation of kernel data structures. This
+ reduces memory fragmentation and makes allocation very fast,
+ improving kernel performance.
+
+ "SLUB" is the default slab allocator.
+
+ See wikipedia:Slab_allocation for more details.

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.
+ SLAB is the original 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 has been superseded by SLUB.

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
+ instead of managing queues of cached objects (the 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.

@@ -648,11 +665,14 @@ 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.
+ SLOB is a drastically simpler allocator for use in embedded
+ systems.
+
+ SLOB is more space efficient than SLAB but does not scale well
+ (it uses a 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/