diff options
-rw-r--r-- | include/linux/gfp.h | 3 | ||||
-rw-r--r-- | mm/page_alloc.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/gfp.h b/include/linux/gfp.h index bf2b6bc3f6fd..00c314aedab7 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h | |||
@@ -116,6 +116,9 @@ static inline enum zone_type gfp_zone(gfp_t flags) | |||
116 | #ifndef HAVE_ARCH_FREE_PAGE | 116 | #ifndef HAVE_ARCH_FREE_PAGE |
117 | static inline void arch_free_page(struct page *page, int order) { } | 117 | static inline void arch_free_page(struct page *page, int order) { } |
118 | #endif | 118 | #endif |
119 | #ifndef HAVE_ARCH_ALLOC_PAGE | ||
120 | static inline void arch_alloc_page(struct page *page, int order) { } | ||
121 | #endif | ||
119 | 122 | ||
120 | extern struct page * | 123 | extern struct page * |
121 | FASTCALL(__alloc_pages(gfp_t, unsigned int, struct zonelist *)); | 124 | FASTCALL(__alloc_pages(gfp_t, unsigned int, struct zonelist *)); |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 230771d3c6b6..cd47e8f7bd5b 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -598,6 +598,8 @@ static int prep_new_page(struct page *page, int order, gfp_t gfp_flags) | |||
598 | 1 << PG_checked | 1 << PG_mappedtodisk); | 598 | 1 << PG_checked | 1 << PG_mappedtodisk); |
599 | set_page_private(page, 0); | 599 | set_page_private(page, 0); |
600 | set_page_refcounted(page); | 600 | set_page_refcounted(page); |
601 | |||
602 | arch_alloc_page(page, order); | ||
601 | kernel_map_pages(page, 1 << order, 1); | 603 | kernel_map_pages(page, 1 << order, 1); |
602 | 604 | ||
603 | if (gfp_flags & __GFP_ZERO) | 605 | if (gfp_flags & __GFP_ZERO) |