Commit fde82aaa authored by Michal Hocko's avatar Michal Hocko Committed by Linus Torvalds

mm/page_alloc.c: get rid of __alloc_pages_high_priority()

__alloc_pages_high_priority doesn't do anything special other than it
calls get_page_from_freelist and loops around GFP_NOFAIL allocation
until it succeeds.  It would be better if the first part was done in
__alloc_pages_slowpath where we modify the zonelist because this would
be easier to read and understand.  Opencoding the function into its only
caller allows to simplify it a bit as well.

This patch doesn't introduce any functional changes.

[ coding-style fixes]
Signed-off-by: default avatarMichal Hocko <>
Acked-by: default avatarMel Gorman <>
Acked-by: default avatarDavid Rientjes <>
Acked-by: default avatarVlastimil Babka <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
parent c00eb15a
......@@ -2876,28 +2876,6 @@ retry:
return page;
* This is called in the allocator slow-path if the allocation request is of
* sufficient urgency to ignore watermarks and take other desperate measures
static inline struct page *
__alloc_pages_high_priority(gfp_t gfp_mask, unsigned int order,
const struct alloc_context *ac)
struct page *page;
do {
page = get_page_from_freelist(gfp_mask, order,
if (!page && gfp_mask & __GFP_NOFAIL)
wait_iff_congested(ac->preferred_zone, BLK_RW_ASYNC,
} while (!page && (gfp_mask & __GFP_NOFAIL));
return page;
static void wake_all_kswapds(unsigned int order, const struct alloc_context *ac)
struct zoneref *z;
......@@ -3042,12 +3020,16 @@ retry:
* allocations are system rather than user orientated
ac->zonelist = node_zonelist(numa_node_id(), gfp_mask);
page = __alloc_pages_high_priority(gfp_mask, order, ac);
if (page) {
do {
page = get_page_from_freelist(gfp_mask, order,
if (page)
goto got_pg;
if (gfp_mask & __GFP_NOFAIL)
} while (gfp_mask & __GFP_NOFAIL);
/* Caller is not willing to reclaim, we can't balance anything */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment