diff options
author | Christoph Lameter <cl@linux.com> | 2012-09-04 23:38:33 +0000 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2012-09-05 12:00:36 +0300 |
commit | 12c3667fb780e20360ad0bde32dfb3591ef609ad (patch) | |
tree | dbced65da22c85212bf632ff6953c0a94252c3ef /mm/slab_common.c | |
parent | 8f4c765c22deee766319ae9a1db68325f14816e6 (diff) | |
download | blackbird-op-linux-12c3667fb780e20360ad0bde32dfb3591ef609ad.tar.gz blackbird-op-linux-12c3667fb780e20360ad0bde32dfb3591ef609ad.zip |
mm/sl[aou]b: Get rid of __kmem_cache_destroy
What is done there can be done in __kmem_cache_shutdown.
This affects RCU handling somewhat. On rcu free all slab allocators do
not refer to other management structures than the kmem_cache structure.
Therefore these other structures can be freed before the rcu deferred
free to the page allocator occurs.
Reviewed-by: Joonsoo Kim <js1304@gmail.com>
Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm/slab_common.c')
-rw-r--r-- | mm/slab_common.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/mm/slab_common.c b/mm/slab_common.c index d6deae9108cd..7df814e8fbea 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -153,7 +153,6 @@ void kmem_cache_destroy(struct kmem_cache *s) if (s->flags & SLAB_DESTROY_BY_RCU) rcu_barrier(); - __kmem_cache_destroy(s); kmem_cache_free(kmem_cache, s); } else { list_add(&s->list, &slab_caches); |