Re: [PATCH] prevent to reclaim anon page of lumpy reclaim for no swap space

From: KOSAKI Motohiro
Date: Thu Jun 25 2009 - 10:21:41 EST


> This patch prevent to reclaim anon page in case of no swap space.
> VM already prevent to reclaim anon page in various place.
> But it doesnt't prevent it for lumpy reclaim.
>
> It shuffles lru list unnecessary so that it is pointless.

NAK.

1. if system have no swap, add_to_swap() never get swap entry.
eary check don't improve performance so much.
2. __isolate_lru_page() is not only called lumpy reclaim case, but
also be called
normal reclaim.
3. if system have no swap, anon pages shuffuling doesn't cause any matter.

Then, I don't think this patch's benefit is bigger than side effect.



> Signed-off-by: Minchan Kim <minchan.kim@xxxxxxxxx>
> ---
>  mm/vmscan.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 026f452..fb401fe 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -830,7 +830,13 @@ int __isolate_lru_page(struct page *page, int mode, int file)
>         * When this function is being called for lumpy reclaim, we
>         * initially look into all LRU pages, active, inactive and
>         * unevictable; only give shrink_page_list evictable pages.
> +
> +        * If we don't have enough swap space, reclaiming of anon page
> +        * is pointless.
>         */
> +       if (nr_swap_pages <= 0 && PageAnon(page))
> +               return ret;
> +
>        if (PageUnevictable(page))
>                return ret;
>
> --
> 1.5.4.3
>
>
>
>
> --
> Kinds Regards
> Minchan Kim
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/