On Tue, Jan 04, 2022 at 01:10:20AM +0100, Vlastimil Babka wrote: > From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> > > This function is entirely self-contained, so can be converted from page > to slab. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> > Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> > Reviewed-by: Roman Gushchin <guro@xxxxxx> > --- > mm/slab.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/mm/slab.h b/mm/slab.h > index dd3f72fddff6..1408ada9ff72 100644 > --- a/mm/slab.h > +++ b/mm/slab.h > @@ -574,13 +574,13 @@ static inline void memcg_slab_free_hook(struct kmem_cache *s, > > static inline struct kmem_cache *virt_to_cache(const void *obj) > { > - struct page *page; > + struct slab *slab; > > - page = virt_to_head_page(obj); > - if (WARN_ONCE(!PageSlab(page), "%s: Object is not a Slab page!\n", > + slab = virt_to_slab(obj); > + if (WARN_ONCE(!slab, "%s: Object is not a Slab page!\n", > __func__)) > return NULL; > - return page->slab_cache; > + return slab->slab_cache; > } > Looks good, Reviewed-by: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx> > static __always_inline void account_slab(struct slab *slab, int order, > -- > 2.34.1 >