diff -purN -X /home/mbligh/.diff.exclude 350-autoswap/include/linux/gfp.h 360-mbind_part1/include/linux/gfp.h --- 350-autoswap/include/linux/gfp.h 2003-12-11 17:16:55.000000000 -0800 +++ 360-mbind_part1/include/linux/gfp.h 2003-12-11 17:27:57.000000000 -0800 @@ -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 -purN -X /home/mbligh/.diff.exclude 350-autoswap/include/linux/mmzone.h 360-mbind_part1/include/linux/mmzone.h --- 350-autoswap/include/linux/mmzone.h 2003-12-11 17:16:48.000000000 -0800 +++ 360-mbind_part1/include/linux/mmzone.h 2003-12-11 17:27:57.000000000 -0800 @@ -379,6 +379,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 -purN -X /home/mbligh/.diff.exclude 350-autoswap/include/linux/pagemap.h 360-mbind_part1/include/linux/pagemap.h --- 350-autoswap/include/linux/pagemap.h 2003-10-01 11:41:17.000000000 -0700 +++ 360-mbind_part1/include/linux/pagemap.h 2003-12-11 17:27:57.000000000 -0800 @@ -50,14 +50,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 *);