We can get cachep using page in struct slab_rcu, so remove it.

Acked-by: Christoph Lameter <c...@linux.com>
Signed-off-by: Joonsoo Kim <iamjoonsoo....@lge.com>

diff --git a/mm/slab.c b/mm/slab.c
index 71ba8f5..7e1aabe 100644
--- 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 {
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to