linux/Documentation/vm
David Rientjes fa5ec8a1f6 slub: add option to disable higher order debugging slabs
When debugging is enabled, slub requires that additional metadata be
stored in slabs for certain options: SLAB_RED_ZONE, SLAB_POISON, and
SLAB_STORE_USER.

Consequently, it may require that the minimum possible slab order needed
to allocate a single object be greater when using these options.  The
most notable example is for objects that are PAGE_SIZE bytes in size.

Higher minimum slab orders may cause page allocation failures when oom or
under heavy fragmentation.

This patch adds a new slub_debug option, which disables debugging by
default for caches that would have resulted in higher minimum orders:

	slub_debug=O

When this option is used on systems with 4K pages, kmalloc-4096, for
example, will not have debugging enabled by default even if
CONFIG_SLUB_DEBUG_ON is defined because it would have resulted in a
order-1 minimum slab order.

Reported-by: Larry Finger <Larry.Finger@lwfinger.net>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
2009-07-10 09:52:55 +03:00
..
.gitignore .gitignore updates 2008-10-30 11:38:45 -07:00
00-INDEX mm: add documentation describing what tsk->active_mm means vs tsk->mm 2009-04-13 15:04:32 -07:00
Makefile Documentation/vm/Makefile: don't try to build slqbinfo 2009-06-17 09:45:46 -07:00
active_mm.txt mm: add documentation describing what tsk->active_mm means vs tsk->mm 2009-04-13 15:04:32 -07:00
balance page allocator: use allocation flags as an index to the zone watermark 2009-06-16 19:47:35 -07:00
hugetlbpage.txt Documentation cleanup: trivial misspelling, punctuation, and grammar corrections. 2008-07-26 12:00:06 -07:00
locking [PATCH] swap: swap_lock replace list+device 2005-09-05 00:05:42 -07:00
numa Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
numa_memory_policy.txt trivial: fix where cgroup documentation is not correctly referred to 2009-03-30 15:22:02 +02:00
overcommit-accounting Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
page-types.c pagemap: add page-types tool 2009-06-16 19:47:38 -07:00
page_migration trivial: fix where cgroup documentation is not correctly referred to 2009-03-30 15:22:02 +02:00
pagemap.txt pagemap: document 9 more exported page flags 2009-06-16 19:47:38 -07:00
slabinfo.c Christoph has moved 2008-07-04 10:40:04 -07:00
slub.txt slub: add option to disable higher order debugging slabs 2009-07-10 09:52:55 +03:00
unevictable-lru.txt mm: reformat the Unevictable-LRU documentation 2009-04-13 15:04:31 -07:00