Re: [PATCH 3/2] mm: Rename alloc_pages_current to alloc_pages

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

 



On Sun 24-01-21 17:11:07, Matthew Wilcox wrote:
> When CONFIG_NUMA is enabled, alloc_pages() is a wrapper around
> alloc_pages_current().  This is pointless, just implement alloc_pages()
> directly.

alloc_pages_current was a bit of a misnomer anyway as it implements
memory policy as well (e.g. interleave).

> Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>

Acked-by: Michal Hocko <mhocko@xxxxxxxx>

Thanks!

> ---
>  include/linux/gfp.h |  8 +-------
>  mm/mempolicy.c      | 27 +++++++++++++--------------
>  2 files changed, 14 insertions(+), 21 deletions(-)
> 
> diff --git a/include/linux/gfp.h b/include/linux/gfp.h
> index acca2c487da8..44978b35ce1a 100644
> --- a/include/linux/gfp.h
> +++ b/include/linux/gfp.h
> @@ -532,13 +532,7 @@ static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask,
>  }
>  
>  #ifdef CONFIG_NUMA
> -extern struct page *alloc_pages_current(gfp_t gfp_mask, unsigned order);
> -
> -static inline struct page *
> -alloc_pages(gfp_t gfp_mask, unsigned int order)
> -{
> -	return alloc_pages_current(gfp_mask, order);
> -}
> +struct page *alloc_pages(gfp_t gfp, unsigned int order);
>  extern struct page *alloc_pages_vma(gfp_t gfp_mask, int order,
>  			struct vm_area_struct *vma, unsigned long addr,
>  			int node, bool hugepage);
> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> index addf0854d693..0cf54aa5a2f0 100644
> --- a/mm/mempolicy.c
> +++ b/mm/mempolicy.c
> @@ -2245,21 +2245,20 @@ alloc_pages_vma(gfp_t gfp, int order, struct vm_area_struct *vma,
>  EXPORT_SYMBOL(alloc_pages_vma);
>  
>  /**
> - * 	alloc_pages_current - Allocate pages.
> + * alloc_pages - Allocate pages.
> + * @gfp:
> + *	%GFP_USER   user allocation,
> + *	%GFP_KERNEL kernel allocation,
> + *	%GFP_HIGHMEM highmem allocation,
> + *	%GFP_FS     don't call back into a file system.
> + *	%GFP_ATOMIC don't sleep.
> + * @order: Power of two of allocation size in pages. 0 is a single page.
>   *
> - *	@gfp:
> - *		%GFP_USER   user allocation,
> - *      	%GFP_KERNEL kernel allocation,
> - *      	%GFP_HIGHMEM highmem allocation,
> - *      	%GFP_FS     don't call back into a file system.
> - *      	%GFP_ATOMIC don't sleep.
> - *	@order: Power of two of allocation size in pages. 0 is a single page.
> - *
> - *	Allocate a page from the kernel page pool.  When not in
> - *	interrupt context and apply the current process NUMA policy.
> - *	Returns NULL when no page can be allocated.
> + * Allocate a page from the kernel page pool.  When in
> + * process context apply the current process NUMA policy.
> + * Returns NULL when no page can be allocated.
>   */
> -struct page *alloc_pages_current(gfp_t gfp, unsigned order)
> +struct page *alloc_pages(gfp_t gfp, unsigned order)
>  {
>  	struct mempolicy *pol = &default_policy;
>  	struct page *page;
> @@ -2280,7 +2279,7 @@ struct page *alloc_pages_current(gfp_t gfp, unsigned order)
>  
>  	return page;
>  }
> -EXPORT_SYMBOL(alloc_pages_current);
> +EXPORT_SYMBOL(alloc_pages);
>  
>  int vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst)
>  {
> -- 
> 2.29.2
> 

-- 
Michal Hocko
SUSE Labs




[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