diff options
author | Christoph Lameter <clameter@sgi.com> | 2007-07-16 02:38:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 12:05:36 -0400 |
commit | f0630fff54a239efbbd89faf6a62da071ef1ff78 (patch) | |
tree | 4004adc3adf4dbe1a6188ca0bbd56f7606d4d05f /Documentation | |
parent | fc9a07e7bf1a76e710f5df017abb07628db1781d (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.txt | 38 | ||||
-rw-r--r-- | Documentation/vm/slub.txt | 2 |
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 | ||
45 | F.e. in order to boot just with sanity checks and red zoning one would specify: | 47 | F.e. in order to boot just with sanity checks and red zoning one would specify: |
46 | 48 | ||