slab: remove cachep in struct slab_rcu
authorJoonsoo Kim <iamjoonsoo.kim@lge.com>
Thu, 24 Oct 2013 01:07:41 +0000 (10:07 +0900)
committerPekka Enberg <penberg@iki.fi>
Thu, 24 Oct 2013 17:17:29 +0000 (20:17 +0300)
We can get cachep using page in struct slab_rcu, so remove it.

Acked-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Pekka Enberg <penberg@iki.fi>
mm/slab.c

index 71ba8f5..7e1aabe 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -204,7 +204,6 @@ typedef unsigned int kmem_bufctl_t;
  */
 struct slab_rcu {
        struct rcu_head head;
-       struct kmem_cache *cachep;
        struct page *page;
 };
 
@@ -1824,7 +1823,7 @@ static void kmem_freepages(struct kmem_cache *cachep, struct page *page)
 static void kmem_rcu_free(struct rcu_head *head)
 {
        struct slab_rcu *slab_rcu = (struct slab_rcu *)head;
-       struct kmem_cache *cachep = slab_rcu->cachep;
+       struct kmem_cache *cachep = slab_rcu->page->slab_cache;
 
        kmem_freepages(cachep, slab_rcu->page);
        if (OFF_SLAB(cachep))
@@ -2052,7 +2051,6 @@ static void slab_destroy(struct kmem_cache *cachep, struct slab *slabp)
                struct slab_rcu *slab_rcu;
 
                slab_rcu = (struct slab_rcu *)slabp;
-               slab_rcu->cachep = cachep;
                slab_rcu->page = page;
                call_rcu(&slab_rcu->head, kmem_rcu_free);
        } else {