From: Nick Piggin Here is another small OOM killer improvement. Previously we needed to reclaim SWAP_CLUSTER_MAX pages in a single pass. That should be changed so that we need only reclaim that many pages during the entire try_to_free_pages run, without going OOM. Signed-off-by: Andrew Morton --- 25-akpm/mm/vmscan.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN mm/vmscan.c~vmscan-reclaim-swap_cluster_max-pages-in-a-single-pass mm/vmscan.c --- 25/mm/vmscan.c~vmscan-reclaim-swap_cluster_max-pages-in-a-single-pass 2005-01-25 21:34:09.317714408 -0800 +++ 25-akpm/mm/vmscan.c 2005-01-25 21:34:09.331712280 -0800 @@ -939,12 +939,12 @@ int try_to_free_pages(struct zone **zone sc.nr_reclaimed += reclaim_state->reclaimed_slab; reclaim_state->reclaimed_slab = 0; } - if (sc.nr_reclaimed >= SWAP_CLUSTER_MAX) { + total_scanned += sc.nr_scanned; + total_reclaimed += sc.nr_reclaimed; + if (total_reclaimed >= SWAP_CLUSTER_MAX) { ret = 1; goto out; } - total_scanned += sc.nr_scanned; - total_reclaimed += sc.nr_reclaimed; /* * Try to write back as many pages as we just scanned. This _