--- 2.4.18-ia64a-kdb-k3Z-disc/include/linux/mm.h.~1~ Tue Apr 30 16:01:13 2002 +++ 2.4.18-ia64a-kdb-k3Z-disc/include/linux/mm.h Tue Apr 30 17:04:13 2002 @@ -367,8 +367,19 @@ */ if (order >= MAX_ORDER) return NULL; +#ifdef CONFIG_NODE_AFFINE_SCHED + if (current->mm != &init_mm) + return __alloc_pages(gfp_mask, order, + NODE_DATA(current->node)->node_zonelists + + (gfp_mask & GFP_ZONEMASK) ); + else + return __alloc_pages(gfp_mask, order, + NODE_DATA(numa_node_id())->node_zonelists + + (gfp_mask & GFP_ZONEMASK) ); +#else return __alloc_pages(gfp_mask, order, NODE_DATA(numa_node_id())->node_zonelists + (gfp_mask & GFP_ZONEMASK) ); +#endif } #define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0)