From: Andrew Morton Cc: Andy Whitcroft Cc: Christoph Lameter Signed-off-by: Andrew Morton --- mm/vmscan.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff -puN mm/vmscan.c~zone_reclaim-reclaim-on-memory-only-node-support-fix-tidy mm/vmscan.c --- devel/mm/vmscan.c~zone_reclaim-reclaim-on-memory-only-node-support-fix-tidy 2006-01-22 02:39:11.000000000 -0800 +++ devel-akpm/mm/vmscan.c 2006-01-22 02:39:11.000000000 -0800 @@ -1600,6 +1600,7 @@ int zone_reclaim(struct zone *zone, gfp_ struct reclaim_state reclaim_state; struct scan_control sc; cpumask_t mask; + int node_id; if (time_before(jiffies, zone->last_unsuccessful_zone_reclaim + ZONE_RECLAIM_INTERVAL)) @@ -1610,8 +1611,9 @@ int zone_reclaim(struct zone *zone, gfp_ atomic_read(&zone->reclaim_in_progress) > 0) return 0; - mask = node_to_cpumask(zone->zone_pgdat->node_id); - if (!cpus_empty(mask) && zone->zone_pgdat->node_id != numa_node_id()) + node_id = zone->zone_pgdat->node_id; + mask = node_to_cpumask(node_id); + if (!cpus_empty(mask) && node_id != numa_node_id()) return 0; sc.may_writepage = 0; _