slub: use size and objsize orders to disable debug flags
authorDavid Rientjes <rientjes@google.com>
Tue, 28 Jul 2009 01:30:35 +0000 (18:30 -0700)
committerPekka Enberg <penberg@cs.helsinki.fi>
Tue, 28 Jul 2009 07:53:09 +0000 (10:53 +0300)
commit3de472138a138008b534d9587593ba83390e330a
tree2f31ccb13c90dff68d8fd108575caa534c6c622d
parentfa5ec8a1f66f3c2a3af723abcf8085509c9ee682
slub: use size and objsize orders to disable debug flags

This patch moves the masking of debugging flags which increase a cache's
min order due to metadata when `slub_debug=O' is used from
kmem_cache_flags() to kmem_cache_open().

Instead of defining the maximum metadata size increase in a preprocessor
macro, this approach uses the cache's ->size and ->objsize members to
determine if the min order increased due to debugging options.  If so,
the flags specified in the more appropriately named DEBUG_METADATA_FLAGS
are masked off.

This approach was suggested by Christoph Lameter
<cl@linux-foundation.org>.

Cc: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
mm/slub.c