--- .orig/mm/vmscan.c 2004-08-04 19:56:41.000000000 -0400 +++ 2.6.8-rc1-vmfix/mm/vmscan.c 2004-08-04 18:45:44.000000000 -0400 @@ -1037,8 +1037,9 @@ continue; if (nr_pages == 0) { /* Not software suspend */ - if (zone->free_pages <= zone->pages_high) - all_zones_ok = 0; + if (zone->free_pages > zone->pages_high) + continue; + all_zones_ok = 0; } zone->temp_priority = priority; if (zone->prev_priority > priority)