slub: move kmem_cache_node into it's own cacheline
authorAlexander Duyck <alexander.h.duyck@intel.com>
Fri, 21 May 2010 21:41:35 +0000 (14:41 -0700)
committerPekka Enberg <penberg@cs.helsinki.fi>
Mon, 24 May 2010 18:11:29 +0000 (21:11 +0300)
commit73367bd8eef4f4eb311005886aaa916013073265
treed603667689cfea1d8de49fe3c7fada7f6b6eae53
parent7e125f7b9cbfce4101191b8076d606c517a73066
slub: move kmem_cache_node into it's own cacheline

This patch is meant to improve the performance of SLUB by moving the local
kmem_cache_node lock into it's own cacheline separate from kmem_cache.
This is accomplished by simply removing the local_node when NUMA is enabled.

On my system with 2 nodes I saw around a 5% performance increase w/
hackbench times dropping from 6.2 seconds to 5.9 seconds on average.  I
suspect the performance gain would increase as the number of nodes
increases, but I do not have the data to currently back that up.

Bugzilla-Reference: http://bugzilla.kernel.org/show_bug.cgi?id=15713
Cc: <stable@kernel.org>
Reported-by: Alex Shi <alex.shi@intel.com>
Tested-by: Alex Shi <alex.shi@intel.com>
Acked-by: Yanmin Zhang <yanmin_zhang@linux.intel.com>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
include/linux/slub_def.h
mm/slub.c