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-21 00:43:07.000000000 +1000 +++ linux-2.6-npiggin/mm/vmscan.c 2004-06-21 00:44:30.000000000 +1000 @@ -867,9 +867,8 @@ shrink_caches(struct zone **zones, struc for (i = 0; zones[i] != NULL; i++) { struct zone *zone = zones[i]; - zone->temp_priority = sc->priority; - if (zone->prev_priority > sc->priority) - zone->prev_priority = sc->priority; + if (zone->free_pages < zone->pages_high) + zone->temp_priority = priority; if (zone->all_unreclaimable && sc->priority != DEF_PRIORITY) continue; /* Let kswapd poll it */ @@ -1044,8 +1043,6 @@ scan: all_zones_ok = 0; } zone->temp_priority = priority; - if (zone->prev_priority > priority) - zone->prev_priority = priority; sc.nr_scanned = 0; sc.nr_reclaimed = 0; sc.priority = priority; _