Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc818301 authored by Ingo Molnar's avatar Ingo Molnar Committed by Linus Torvalds
Browse files

[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: default avatarIngo Molnar <mingo@elte.hu>
Tested-by: default avatarChandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3e705f27
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -3119,16 +3119,7 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects,
		if (slabp->inuse == 0) {
			if (l3->free_objects > l3->free_limit) {
				l3->free_objects -= cachep->num;
				/*
				 * It is safe to drop the lock. The slab is
				 * no longer linked to the cache. cachep
				 * cannot disappear - we are using it and
				 * all destruction of caches must be
				 * serialized properly by the user.
				 */
				spin_unlock(&l3->list_lock);
				slab_destroy(cachep, slabp);
				spin_lock(&l3->list_lock);
			} else {
				list_add(&slabp->list, &l3->slabs_free);
			}