From a4189c05076b5b70d562b2037904e4ee3f6d9708 Mon Sep 17 00:00:00 2001 From: "Martin J. Bligh" Date: Fri, 29 Jul 2005 22:59:18 -0700 Subject: [PATCH] --- yaml --- r: 5507 b: refs/heads/master c: e310fd43256b3cf4d37f6447b8f7413ca744657a h: refs/heads/master i: 5505: 2b27d94d3f1fefe65d5691bb098d12ecfd751b95 5503: 25821edb269ef59db66e87cbb5330e0f0211be8a v: v3 --- [refs] | 2 +- trunk/mm/page_alloc.c | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index e9c88f41296f..88e3ef362659 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5fa918b451f625870cd4275ca908b2392ee86a51 +refs/heads/master: e310fd43256b3cf4d37f6447b8f7413ca744657a diff --git a/trunk/mm/page_alloc.c b/trunk/mm/page_alloc.c index 42bccfb8464d..8d088371196a 100644 --- a/trunk/mm/page_alloc.c +++ b/trunk/mm/page_alloc.c @@ -1061,20 +1061,19 @@ unsigned int nr_free_pages_pgdat(pg_data_t *pgdat) static unsigned int nr_free_zone_pages(int offset) { - pg_data_t *pgdat; + /* Just pick one node, since fallback list is circular */ + pg_data_t *pgdat = NODE_DATA(numa_node_id()); unsigned int sum = 0; - for_each_pgdat(pgdat) { - struct zonelist *zonelist = pgdat->node_zonelists + offset; - struct zone **zonep = zonelist->zones; - struct zone *zone; + struct zonelist *zonelist = pgdat->node_zonelists + offset; + struct zone **zonep = zonelist->zones; + struct zone *zone; - for (zone = *zonep++; zone; zone = *zonep++) { - unsigned long size = zone->present_pages; - unsigned long high = zone->pages_high; - if (size > high) - sum += size - high; - } + for (zone = *zonep++; zone; zone = *zonep++) { + unsigned long size = zone->present_pages; + unsigned long high = zone->pages_high; + if (size > high) + sum += size - high; } return sum;