|
 2.4.6
 mm
 numa.c
diff -u --recursive --new-file v2.4.5/linux/mm/numa.c linux/mm/numa.c
--- v2.4.5/linux/mm/numa.c Mon Oct 16 15:25:45 2000
+++ linux/mm/numa.c Mon Jul 2 14:12:20 2001
@@ -34,7 +34,7 @@
struct page * alloc_pages_node(int nid, int gfp_mask, unsigned long order)
{
#ifdef CONFIG_NUMA
- return __alloc_pages(NODE_DATA(nid)->node_zonelists + gfp_mask, order);
+ return __alloc_pages(gfp_mask, order, NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK));
#else
return alloc_pages(gfp_mask, order);
#endif
@@ -85,14 +85,14 @@
static struct page * alloc_pages_pgdat(pg_data_t *pgdat, int gfp_mask,
unsigned long order)
{
- return __alloc_pages(pgdat->node_zonelists + gfp_mask, order);
+ return __alloc_pages(gfp_mask, order, pgdat->node_zonelists + (gfp_mask & GFP_ZONEMASK));
}
/*
* This can be refined. Currently, tries to do round robin, instead
* should do concentratic circle search, starting from current node.
*/
-struct page * alloc_pages(int gfp_mask, unsigned long order)
+struct page * _alloc_pages(unsigned int gfp_mask, unsigned long order)
{
struct page *ret = 0;
pg_data_t *start, *temp;
|