page allocator: inline some __alloc_pages() wrappers
Two zonelist patch series rewrote __page_alloc() largely. Now, it is just a wrapper function. Inlining them will save a function call. [akpm@linux-foundation.org: export __alloc_pages_internal] Cc: Lee Schermerhorn <lee.schermerhorn@hp.com> Cc: Mel Gorman <mel@csn.ul.ie> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
efe9e77997
commit
e4048e5dc4
2 changed files with 19 additions and 21 deletions
|
@ -173,11 +173,24 @@ static inline void arch_free_page(struct page *page, int order) { }
|
||||||
static inline void arch_alloc_page(struct page *page, int order) { }
|
static inline void arch_alloc_page(struct page *page, int order) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern struct page *__alloc_pages(gfp_t, unsigned int, struct zonelist *);
|
struct page *
|
||||||
|
__alloc_pages_internal(gfp_t gfp_mask, unsigned int order,
|
||||||
|
struct zonelist *zonelist, nodemask_t *nodemask);
|
||||||
|
|
||||||
|
static inline struct page *
|
||||||
|
__alloc_pages(gfp_t gfp_mask, unsigned int order,
|
||||||
|
struct zonelist *zonelist)
|
||||||
|
{
|
||||||
|
return __alloc_pages_internal(gfp_mask, order, zonelist, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline struct page *
|
||||||
|
__alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order,
|
||||||
|
struct zonelist *zonelist, nodemask_t *nodemask)
|
||||||
|
{
|
||||||
|
return __alloc_pages_internal(gfp_mask, order, zonelist, nodemask);
|
||||||
|
}
|
||||||
|
|
||||||
extern struct page *
|
|
||||||
__alloc_pages_nodemask(gfp_t, unsigned int,
|
|
||||||
struct zonelist *, nodemask_t *nodemask);
|
|
||||||
|
|
||||||
static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask,
|
static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask,
|
||||||
unsigned int order)
|
unsigned int order)
|
||||||
|
|
|
@ -1429,7 +1429,7 @@ get_page_from_freelist(gfp_t gfp_mask, nodemask_t *nodemask, unsigned int order,
|
||||||
/*
|
/*
|
||||||
* This is the 'heart' of the zoned buddy allocator.
|
* This is the 'heart' of the zoned buddy allocator.
|
||||||
*/
|
*/
|
||||||
static struct page *
|
struct page *
|
||||||
__alloc_pages_internal(gfp_t gfp_mask, unsigned int order,
|
__alloc_pages_internal(gfp_t gfp_mask, unsigned int order,
|
||||||
struct zonelist *zonelist, nodemask_t *nodemask)
|
struct zonelist *zonelist, nodemask_t *nodemask)
|
||||||
{
|
{
|
||||||
|
@ -1632,22 +1632,7 @@ __alloc_pages_internal(gfp_t gfp_mask, unsigned int order,
|
||||||
got_pg:
|
got_pg:
|
||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(__alloc_pages_internal);
|
||||||
struct page *
|
|
||||||
__alloc_pages(gfp_t gfp_mask, unsigned int order,
|
|
||||||
struct zonelist *zonelist)
|
|
||||||
{
|
|
||||||
return __alloc_pages_internal(gfp_mask, order, zonelist, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct page *
|
|
||||||
__alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order,
|
|
||||||
struct zonelist *zonelist, nodemask_t *nodemask)
|
|
||||||
{
|
|
||||||
return __alloc_pages_internal(gfp_mask, order, zonelist, nodemask);
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_SYMBOL(__alloc_pages);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Common helper functions.
|
* Common helper functions.
|
||||||
|
|
Loading…
Reference in a new issue