From: Nick Piggin Add an arch_alloc_page to match arch_free_page. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton --- include/linux/gfp.h | 3 +++ mm/page_alloc.c | 2 ++ 2 files changed, 5 insertions(+) diff -puN include/linux/gfp.h~mm-add-arch_alloc_page include/linux/gfp.h --- a/include/linux/gfp.h~mm-add-arch_alloc_page +++ a/include/linux/gfp.h @@ -118,6 +118,9 @@ static inline enum zone_type gfp_zone(gf #ifndef HAVE_ARCH_FREE_PAGE static inline void arch_free_page(struct page *page, int order) { } #endif +#ifndef HAVE_ARCH_ALLOC_PAGE +static inline void arch_alloc_page(struct page *page, int order) { } +#endif extern struct page * FASTCALL(__alloc_pages(gfp_t, unsigned int, struct zonelist *)); diff -puN mm/page_alloc.c~mm-add-arch_alloc_page mm/page_alloc.c --- a/mm/page_alloc.c~mm-add-arch_alloc_page +++ a/mm/page_alloc.c @@ -602,6 +602,8 @@ static int prep_new_page(struct page *pa 1 << PG_checked | 1 << PG_mappedtodisk); set_page_private(page, 0); set_page_refcounted(page); + + arch_alloc_page(page, order); kernel_map_pages(page, 1 << order, 1); if (gfp_flags & __GFP_ZERO) _