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-2 mm/vmscan.c
--- 25/mm/vmscan.c~zone-balancing-fix-2	2004-02-28 23:38:06.000000000 -0800
+++ 25-akpm/mm/vmscan.c	2004-02-28 23:38:06.000000000 -0800
@@ -829,8 +829,6 @@ shrink_caches(struct zone **zones, int p
 			max_scan = to_reclaim * 2;
 		ret += shrink_zone(zone, max_scan, gfp_mask,
 				to_reclaim, total_scanned, ps);
-		if (ret >= nr_pages)
-			break;
 	}
 	return ret;
 }

_