We currently have a problem with the balancing of reclaim between zones: much
more reclaim happens against highmem than against lowmem.

This patch partially fixes this by changing the direct reclaim path so it
does not bale out of the zone walk after having reclaimed sufficient pages
from highmem: go on to reclaim from lowmem regardless of how many pages we
reclaimed from lowmem.



---

 mm/vmscan.c |    2 --
 1 files changed, 2 deletions(-)

diff -puN mm/vmscan.c~zone-balancing-fix mm/vmscan.c
--- 25/mm/vmscan.c~zone-balancing-fix	2004-02-25 02:52:12.000000000 -0800
+++ 25-akpm/mm/vmscan.c	2004-02-25 02:52:12.000000000 -0800
@@ -880,8 +880,6 @@ shrink_caches(struct zone **zones, int p
 		ret += shrink_zone(zone, gfp_mask,
 				to_reclaim, &nr_scanned, ps, priority);
 		*total_scanned += nr_scanned;
-		if (ret >= nr_pages)
-			break;
 	}
 	return ret;
 }

_