Index: linux-2.6.16-rc1-mm1/mm/vmscan.c =================================================================== --- linux-2.6.16-rc1-mm1.orig/mm/vmscan.c 2006-01-19 11:18:41.000000000 -0800 +++ linux-2.6.16-rc1-mm1/mm/vmscan.c 2006-01-19 11:42:30.000000000 -0800 @@ -1337,7 +1337,9 @@ shrink_zone(struct zone *zone, struct sc } } - throttle_vm_writeout(); + /* If we cannot swap (f.e. zone_reclaim) then there is no need to throttle */ + if (sc->may_swap) + throttle_vm_writeout(); atomic_dec(&zone->reclaim_in_progress); }