summaryrefslogtreecommitdiffstats
path: root/mm/util.c
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2006-03-25 03:06:45 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-25 08:22:49 -0800
commite00946fe2351307eb3eda7a3343530f6d2d1af2e (patch)
tree1567b4abe0ed56fbd960943da2c52278ea196c02 /mm/util.c
parent3ded175a4b7a4548f3358dcf5f3ad65f63cdb4ed (diff)
downloadlinux-stable-e00946fe2351307eb3eda7a3343530f6d2d1af2e.tar.gz
linux-stable-e00946fe2351307eb3eda7a3343530f6d2d1af2e.tar.bz2
linux-stable-e00946fe2351307eb3eda7a3343530f6d2d1af2e.zip
[PATCH] slab: Bypass free lists for __drain_alien_cache()
__drain_alien_cache() currently drains objects by freeing them to the (remote) freelists of the original node. However, each node also has a shared list containing objects to be used on any processor of that node. We can avoid a number of remote node accesses by copying the pointers to the free objects directly into the remote shared array. And while we are at it: Skip alien draining if the alien cache spinlock is already taken. Kiran reported that this is a performance benefit. Signed-off-by: Christoph Lameter <clameter@sgi.com> Cc: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/util.c')
0 files changed, 0 insertions, 0 deletions