linux-2.6-npiggin/mm/vmscan.c | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) diff -puN mm/vmscan.c~vm-revert-fix mm/vmscan.c --- linux-2.6/mm/vmscan.c~vm-revert-fix 2004-06-12 16:53:02.000000000 +1000 +++ linux-2.6-npiggin/mm/vmscan.c 2004-06-12 16:54:26.000000000 +1000 @@ -813,9 +813,8 @@ shrink_caches(struct zone **zones, int p struct zone *zone = zones[i]; int max_scan; - zone->temp_priority = priority; - if (zone->prev_priority > priority) - zone->prev_priority = priority; + if (zone->free_pages < zone->pages_high) + zone->temp_priority = priority; if (zone->all_unreclaimable && priority != DEF_PRIORITY) continue; /* Let kswapd poll it */ @@ -996,8 +995,6 @@ scan: all_zones_ok = 0; } zone->temp_priority = priority; - if (zone->prev_priority > priority) - zone->prev_priority = priority; max_scan = (zone->nr_active + zone->nr_inactive) >> priority; reclaimed = shrink_zone(zone, max_scan, GFP_KERNEL, _