aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2007-07-16 02:38:14 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 12:05:36 -0400
commitf0630fff54a239efbbd89faf6a62da071ef1ff78 (patch)
tree4004adc3adf4dbe1a6188ca0bbd56f7606d4d05f /Documentation
parentfc9a07e7bf1a76e710f5df017abb07628db1781d (diff)
SLUB: support slub_debug on by default
Add a new configuration variable CONFIG_SLUB_DEBUG_ON If set then the kernel will be booted by default with slab debugging switched on. Similar to CONFIG_SLAB_DEBUG. By default slab debugging is available but must be enabled by specifying "slub_debug" as a kernel parameter. Also add support to switch off slab debugging for a kernel that was built with CONFIG_SLUB_DEBUG_ON. This works by specifying slub_debug=- as a kernel parameter. Dave Jones wanted this feature. http://marc.info/?l=linux-kernel&m=118072189913045&w=2 [akpm@linux-foundation.org: clean up switch statement] Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/kernel-parameters.txt38
-rw-r--r--Documentation/vm/slub.txt2
2 files changed, 23 insertions, 17 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 4344f69ae24a..8916410307f1 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1580,35 +1580,39 @@ and is between 256 and 4096 characters. It is defined in the file
1580 1580
1581 slram= [HW,MTD] 1581 slram= [HW,MTD]
1582 1582
1583 slub_debug [MM, SLUB] 1583 slub_debug[=options[,slabs]] [MM, SLUB]
1584 Enabling slub_debug allows one to determine the culprit 1584 Enabling slub_debug allows one to determine the
1585 if slab objects become corrupted. Enabling slub_debug 1585 culprit if slab objects become corrupted. Enabling
1586 creates guard zones around objects and poisons objects 1586 slub_debug can create guard zones around objects and
1587 when not in use. Also tracks the last alloc / free. 1587 may poison objects when not in use. Also tracks the
1588 For more information see Documentation/vm/slub.txt. 1588 last alloc / free. For more information see
1589 Documentation/vm/slub.txt.
1589 1590
1590 slub_max_order= [MM, SLUB] 1591 slub_max_order= [MM, SLUB]
1591 Determines the maximum allowed order for slabs. Setting 1592 Determines the maximum allowed order for slabs.
1592 this too high may cause fragmentation. 1593 A high setting may cause OOMs due to memory
1593 For more information see Documentation/vm/slub.txt. 1594 fragmentation. For more information see
1595 Documentation/vm/slub.txt.
1594 1596
1595 slub_min_objects= [MM, SLUB] 1597 slub_min_objects= [MM, SLUB]
1596 The minimum objects per slab. SLUB will increase the 1598 The minimum number of objects per slab. SLUB will
1597 slab order up to slub_max_order to generate a 1599 increase the slab order up to slub_max_order to
1598 sufficiently big slab to satisfy the number of objects. 1600 generate a sufficiently large slab able to contain
1599 The higher the number of objects the smaller the overhead 1601 the number of objects indicated. The higher the number
1600 of tracking slabs. 1602 of objects the smaller the overhead of tracking slabs
1603 and the less frequently locks need to be acquired.
1601 For more information see Documentation/vm/slub.txt. 1604 For more information see Documentation/vm/slub.txt.
1602 1605
1603 slub_min_order= [MM, SLUB] 1606 slub_min_order= [MM, SLUB]
1604 Determines the mininum page order for slabs. Must be 1607 Determines the mininum page order for slabs. Must be
1605 lower than slub_max_order 1608 lower than slub_max_order.
1606 For more information see Documentation/vm/slub.txt. 1609 For more information see Documentation/vm/slub.txt.
1607 1610
1608 slub_nomerge [MM, SLUB] 1611 slub_nomerge [MM, SLUB]
1609 Disable merging of slabs of similar size. May be 1612 Disable merging of slabs with similar size. May be
1610 necessary if there is some reason to distinguish 1613 necessary if there is some reason to distinguish
1611 allocs to different slabs. 1614 allocs to different slabs. Debug options disable
1615 merging on their own.
1612 For more information see Documentation/vm/slub.txt. 1616 For more information see Documentation/vm/slub.txt.
1613 1617
1614 smart2= [HW] 1618 smart2= [HW]
diff --git a/Documentation/vm/slub.txt b/Documentation/vm/slub.txt
index 1523320abd87..df812b03b65d 100644
--- a/Documentation/vm/slub.txt
+++ b/Documentation/vm/slub.txt
@@ -41,6 +41,8 @@ Possible debug options are
41 P Poisoning (object and padding) 41 P Poisoning (object and padding)
42 U User tracking (free and alloc) 42 U User tracking (free and alloc)
43 T Trace (please only use on single slabs) 43 T Trace (please only use on single slabs)
44 - Switch all debugging off (useful if the kernel is
45 configured with CONFIG_SLUB_DEBUG_ON)
44 46
45F.e. in order to boot just with sanity checks and red zoning one would specify: 47F.e. in order to boot just with sanity checks and red zoning one would specify:
46 48