diff -urpN -X /home/fletch/.diff.exclude 840-proc_pid_readdir/include/linux/gfp.h 850-mbind_part1/include/linux/gfp.h --- 840-proc_pid_readdir/include/linux/gfp.h Tue Jun 24 21:29:25 2003 +++ 850-mbind_part1/include/linux/gfp.h Wed Jul 2 22:38:16 2003 @@ -66,7 +66,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 -urpN -X /home/fletch/.diff.exclude 840-proc_pid_readdir/include/linux/mmzone.h 850-mbind_part1/include/linux/mmzone.h --- 840-proc_pid_readdir/include/linux/mmzone.h Sat Jun 14 18:37:37 2003 +++ 850-mbind_part1/include/linux/mmzone.h Wed Jul 2 22:38:16 2003 @@ -345,6 +345,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 -urpN -X /home/fletch/.diff.exclude 840-proc_pid_readdir/include/linux/pagemap.h 850-mbind_part1/include/linux/pagemap.h --- 840-proc_pid_readdir/include/linux/pagemap.h Wed Jul 2 22:25:26 2003 +++ 850-mbind_part1/include/linux/pagemap.h Wed Jul 2 22:38:16 2003 @@ -27,14 +27,19 @@ #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(x->gfp_mask, 0); + return __page_cache_alloc(x, x->gfp_mask); } static inline struct page *page_cache_alloc_cold(struct address_space *x) { - return alloc_pages(x->gfp_mask|__GFP_COLD, 0); + return __page_cache_alloc(x, x->gfp_mask|__GFP_COLD); } typedef int filler_t(void *, struct page *);