diff -urN oldtree/include/linux/gfp.h newtree/include/linux/gfp.h --- oldtree/include/linux/gfp.h 2006-10-05 15:26:55.000000000 -0400 +++ newtree/include/linux/gfp.h 2006-10-07 09:03:55.000000000 -0400 @@ -118,6 +118,9 @@ #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 -urN oldtree/mm/page_alloc.c newtree/mm/page_alloc.c --- oldtree/mm/page_alloc.c 2006-10-07 09:03:24.000000000 -0400 +++ newtree/mm/page_alloc.c 2006-10-07 09:03:55.000000000 -0400 @@ -616,6 +616,8 @@ 1 << PG_fs_misc | 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)