slub: No need for per node slab counters if !SLUB_DEBUG
authorChristoph Lameter <clameter@sgi.com>
Mon, 14 Apr 2008 15:53:02 +0000 (18:53 +0300)
committerPekka Enberg <penberg@cs.helsinki.fi>
Mon, 14 Apr 2008 15:53:02 +0000 (18:53 +0300)
commit0f389ec63077521166f071e1e970aed36147fd45
treeb1f2159c652c48160dde31e6740870ae0589dffb
parent49bd5221ce8fb55d12c04a3ffd375201c5bbfb7a
slub: No need for per node slab counters if !SLUB_DEBUG

The per node counters are used mainly for showing data through the sysfs API.
If that API is not compiled in then there is no point in keeping track of this
data. Disable counters for the number of slabs and the number of total slabs
if !SLUB_DEBUG. Incrementing the per node counters is also accessing a
potentially contended cacheline so this could actually be a performance
benefit to embedded systems.

SLABINFO support is also affected. It now must depends on SLUB_DEBUG (which
is on by default).

Patch also avoids a check for a NULL kmem_cache_node pointer in new_slab()
if the system is not compiled with NUMA support.

[penberg@cs.helsinki.fi: fix oops and move ->nr_slabs into CONFIG_SLUB_DEBUG]
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
include/linux/slub_def.h
init/Kconfig
mm/slub.c