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
..
2009-04-01 08:59:13 -07:00
2009-06-16 19:47:28 -07:00
2009-06-16 19:50:13 -07:00
2009-06-16 19:47:40 -07:00
2009-06-16 19:50:13 -07:00
2009-06-25 11:22:13 -07:00
2007-10-20 01:27:18 +02:00
2008-07-28 16:30:21 -07:00
2009-07-06 13:57:03 -07:00
2008-06-12 18:05:41 -07:00
2007-10-20 01:27:18 +02:00
2009-06-18 13:03:47 -07:00
2009-06-24 08:17:06 -04:00
2009-06-29 09:57:10 +03:00
2009-06-18 13:03:47 -07:00
2009-06-23 12:50:05 -07:00