From d9cb52c756161a1b154573370adfc83f97bdfedb Mon Sep 17 00:00:00 2001 From: "Siddha, Suresh B" Date: Wed, 2 May 2007 19:27:18 +0200 Subject: [PATCH] --- yaml --- r: 53911 b: refs/heads/master c: 62918a036148230ba1ad175dc8a0952e3752ac57 h: refs/heads/master i: 53909: 8bb3fe4549f95d743f6a57de65245408c1e77099 53907: dfd77f0ab01ef6796561ddb64b4e1e8fb142addc 53903: 1ec9c5083ce1ddcd8cb7cd790e3edd9a9b898eb7 v: v3 --- [refs] | 2 +- trunk/mm/slab.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index b56bc80e3668..e887c52f38e5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 57a4f91ae5571edd7c0428285d8df16bb8bf5f40 +refs/heads/master: 62918a036148230ba1ad175dc8a0952e3752ac57 diff --git a/trunk/mm/slab.c b/trunk/mm/slab.c index 4cbac24ae2f1..168bfe9d8ffe 100644 --- a/trunk/mm/slab.c +++ b/trunk/mm/slab.c @@ -1146,7 +1146,7 @@ static inline int cache_free_alien(struct kmem_cache *cachep, void *objp) * Make sure we are not freeing a object from another node to the array * cache on this cpu. */ - if (likely(slabp->nodeid == node) || unlikely(!use_alien_caches)) + if (likely(slabp->nodeid == node)) return 0; l3 = cachep->nodelists[node]; @@ -1394,6 +1394,9 @@ void __init kmem_cache_init(void) int order; int node; + if (num_possible_nodes() == 1) + use_alien_caches = 0; + for (i = 0; i < NUM_INIT_LISTS; i++) { kmem_list3_init(&initkmem_list3[i]); if (i < MAX_NUMNODES) @@ -3563,7 +3566,7 @@ static inline void __cache_free(struct kmem_cache *cachep, void *objp) check_irq_off(); objp = cache_free_debugcheck(cachep, objp, __builtin_return_address(0)); - if (cache_free_alien(cachep, objp)) + if (use_alien_caches && cache_free_alien(cachep, objp)) return; if (likely(ac->avail < ac->limit)) {