Re: [PATCHv5 1/7] mm: drop page->slab_page

From: Kirill A. Shutemov
Date: Mon Sep 07 2015 - 08:19:17 EST


On Sun, Sep 06, 2015 at 10:00:57PM -0700, Alexander Duyck wrote:
> On 09/03/2015 05:35 AM, Kirill A. Shutemov wrote:
> >Since 8456a648cf44 ("slab: use struct page for slab management") nobody
> >uses slab_page field in struct page.
> >
> >Let's drop it.
> >
> >Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> >Acked-by: Christoph Lameter <cl@xxxxxxxxx>
> >Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
> >Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
> >Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
> >Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> >---
> > include/linux/mm_types.h | 1 -
> > mm/slab.c | 17 +++--------------
> > 2 files changed, 3 insertions(+), 15 deletions(-)
> >
> >diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
> >index 0038ac7466fd..58620ac7f15c 100644
> >--- a/include/linux/mm_types.h
> >+++ b/include/linux/mm_types.h
> >@@ -140,7 +140,6 @@ struct page {
> > #endif
> > };
> >- struct slab *slab_page; /* slab fields */
> > struct rcu_head rcu_head; /* Used by SLAB
> > * when destroying via RCU
> > */
> >diff --git a/mm/slab.c b/mm/slab.c
> >index 200e22412a16..649044f26e5d 100644
> >--- a/mm/slab.c
> >+++ b/mm/slab.c
> >@@ -1888,21 +1888,10 @@ static void slab_destroy(struct kmem_cache *cachep, struct page *page)
> > freelist = page->freelist;
> > slab_destroy_debugcheck(cachep, page);
> >- if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU)) {
> >- struct rcu_head *head;
> >-
> >- /*
> >- * RCU free overloads the RCU head over the LRU.
> >- * slab_page has been overloeaded over the LRU,
> >- * however it is not used from now on so that
> >- * we can use it safely.
> >- */
> >- head = (void *)&page->rcu_head;
> >- call_rcu(head, kmem_rcu_free);
> >-
> >- } else {
> >+ if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU))
> >+ call_rcu(&page->rcu_head, kmem_rcu_free);
> >+ else
> > kmem_freepages(cachep, page);
> >- }
> > /*
> > * From now on, we don't use freelist
>
> This second piece looks like it belongs in patch 2, not patch 1 based on the
> descriptions.

You're right.

Although I don't think I would re-spin the patchset just for this change.
If any other change would be required, I'll fix this too.

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