diff -aurpN -X /home/fletch/.diff.exclude 350-autoswap/include/linux/gfp.h 360-mbind_part1/include/linux/gfp.h --- 350-autoswap/include/linux/gfp.h Thu Jan 1 23:22:32 2004 +++ 360-mbind_part1/include/linux/gfp.h Thu Jan 1 23:22:55 2004 @@ -70,7 +70,7 @@ static inline struct page * alloc_pages_ if (unlikely(order >= MAX_ORDER)) return NULL; - return __alloc_pages(gfp_mask, order, NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK)); + return __alloc_pages(gfp_mask, order, get_node_zonelist(nid, gfp_mask)); } #define alloc_pages(gfp_mask, order) \ diff -aurpN -X /home/fletch/.diff.exclude 350-autoswap/include/linux/mmzone.h 360-mbind_part1/include/linux/mmzone.h --- 350-autoswap/include/linux/mmzone.h Thu Jan 1 23:22:25 2004 +++ 360-mbind_part1/include/linux/mmzone.h Thu Jan 1 23:22:55 2004 @@ -380,6 +380,14 @@ static inline unsigned int num_online_me #define num_online_memblks() 1 #endif /* CONFIG_DISCONTIGMEM || CONFIG_NUMA */ + +static inline struct zonelist *get_node_zonelist(int nid, int gfp_mask) +{ + return NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK); +} + +#define get_zonelist(gfp_mask) get_node_zonelist(numa_node_id(), gfp_mask) + #endif /* !__ASSEMBLY__ */ #endif /* __KERNEL__ */ #endif /* _LINUX_MMZONE_H */ diff -aurpN -X /home/fletch/.diff.exclude 350-autoswap/include/linux/pagemap.h 360-mbind_part1/include/linux/pagemap.h --- 350-autoswap/include/linux/pagemap.h Thu Jan 1 21:24:54 2004 +++ 360-mbind_part1/include/linux/pagemap.h Thu Jan 1 23:22:55 2004 @@ -49,14 +49,19 @@ static inline void mapping_set_gfp_mask( #define page_cache_release(page) put_page(page) void release_pages(struct page **pages, int nr, int cold); +static inline struct page *__page_cache_alloc(struct address_space *x, int gfp_mask) +{ + return alloc_pages(gfp_mask, 0); +} + static inline struct page *page_cache_alloc(struct address_space *x) { - return alloc_pages(mapping_gfp_mask(x), 0); + return __page_cache_alloc(x, mapping_gfp_mask(x)); } static inline struct page *page_cache_alloc_cold(struct address_space *x) { - return alloc_pages(mapping_gfp_mask(x)|__GFP_COLD, 0); + return __page_cache_alloc(x, mapping_gfp_mask(x)|__GFP_COLD); } typedef int filler_t(void *, struct page *);