aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slab.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2006-07-13 03:12:21 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-13 18:38:43 -0400
commitfc818301a8a39fedd7f0a71f878f29130c72193d (patch)
tree97db2563dab14944f0131bf6d59c712c997ae328 /mm/slab.c
parent3e705f279a942471b258b1c7a9e54aa8ff36b89f (diff)
[PATCH] revert slab.c locking change
Chandra Seetharaman reported SLAB crashes caused by the slab.c lock annotation patch. There is only one chunk of that patch that has a material effect on the slab logic - this patch undoes that chunk. This was confirmed to fix the slab problem by Chandra. Signed-off-by: Ingo Molnar <mingo@elte.hu> Tested-by: Chandra Seetharaman <sekharan@us.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/slab.c')
-rw-r--r--mm/slab.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/mm/slab.c b/mm/slab.c
index 5a57cda7490d..0f20843beffd 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -3119,16 +3119,7 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects,
3119 if (slabp->inuse == 0) { 3119 if (slabp->inuse == 0) {
3120 if (l3->free_objects > l3->free_limit) { 3120 if (l3->free_objects > l3->free_limit) {
3121 l3->free_objects -= cachep->num; 3121 l3->free_objects -= cachep->num;
3122 /*
3123 * It is safe to drop the lock. The slab is
3124 * no longer linked to the cache. cachep
3125 * cannot disappear - we are using it and
3126 * all destruction of caches must be
3127 * serialized properly by the user.
3128 */
3129 spin_unlock(&l3->list_lock);
3130 slab_destroy(cachep, slabp); 3122 slab_destroy(cachep, slabp);
3131 spin_lock(&l3->list_lock);
3132 } else { 3123 } else {
3133 list_add(&slabp->list, &l3->slabs_free); 3124 list_add(&slabp->list, &l3->slabs_free);
3134 } 3125 }