Re: [PATCH v4 06/32] mm: Convert virt_to_cache() to use struct slab

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux