Re: [PATCH] vmscan: skip freeing memory from zones with lots free

Johannes Weiner
2008-11-28T22:43:04Z

On Fri, Nov 28, 2008 at 06:08:03AM -0500, Rik van Riel wrote:
> Skip freeing memory from zones that already have lots of free memory.
> If one memory zone has harder to free memory, we want to avoid freeing
> excessive amounts of memory from other zones, if only because pageout
> IO from the other zones can slow down page freeing from the problem zone.
>
> This is similar to the check already done by kswapd in balance_pgdat().
>
> Signed-off-by: Rik van Riel <riel@redhat.com>

Acked-by: Johannes Weiner <hannes@saeurebad.de>

> ---
> Kosaki-san, this should address point (3) from your list.
>
> mm/vmscan.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> Index: linux-2.6.28-rc5/mm/vmscan.c
> ===================================================================
> --- linux-2.6.28-rc5.orig/mm/vmscan.c 2008-11-28 05:53:56.000000000 -0500
> +++ linux-2.6.28-rc5/mm/vmscan.c 2008-11-28 06:05:29.000000000 -0500
> @@ -1510,6 +1510,9 @@ static unsigned long shrink_zones(int pr
> if (zone_is_all_unreclaimable(zone) &&
> priority != DEF_PRIORITY)
> continue; /* Let kswapd poll it */
> + if (zone_watermark_ok(zone, sc->order,
> + 4*zone->pages_high, high_zoneidx, 0))
> + continue; /* Lots free already */
> sc->all_unreclaimable = 0;
> } else {
> /*
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/