On Tue, Jan 04, 2022 at 01:10:16AM +0100, Vlastimil Babka wrote: > The function no longer does what its name and comment suggests, and just > sets two struct page fields, which can be done directly in its sole > caller. > > Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> > Reviewed-by: Roman Gushchin <guro@xxxxxx> > --- > mm/slab.c | 15 ++------------- > 1 file changed, 2 insertions(+), 13 deletions(-) > > diff --git a/mm/slab.c b/mm/slab.c > index ca4822f6b2b6..381875e23277 100644 > --- a/mm/slab.c > +++ b/mm/slab.c > @@ -2546,18 +2546,6 @@ static void slab_put_obj(struct kmem_cache *cachep, > set_free_obj(page, page->active, objnr); > } > > -/* > - * Map pages beginning at addr to the given cache and slab. This is required > - * for the slab allocator to be able to lookup the cache and slab of a > - * virtual address for kfree, ksize, and slab debugging. > - */ > -static void slab_map_pages(struct kmem_cache *cache, struct page *page, > - void *freelist) > -{ > - page->slab_cache = cache; > - page->freelist = freelist; > -} > - > /* > * Grow (by 1) the number of slabs within a cache. This is called by > * kmem_cache_alloc() when there are no active objs left in a cache. > @@ -2621,7 +2609,8 @@ static struct page *cache_grow_begin(struct kmem_cache *cachep, > if (OFF_SLAB(cachep) && !freelist) > goto opps1; > > - slab_map_pages(cachep, page, freelist); > + page->slab_cache = cachep; > + page->freelist = freelist; > > cache_init_objs(cachep, page); > Looks good. Reviewed-by: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx> > -- > 2.34.1 >