Re: [PATCH V5 5/6] mm: enable MADV_FREE for swapless system

From: Michal Hocko
Date: Mon Feb 27 2017 - 10:24:54 EST


On Fri 24-02-17 13:31:48, Shaohua Li wrote:
> Now MADV_FREE pages can be easily reclaimed even for swapless system. We
> can safely enable MADV_FREE for all systems.
>
> Cc: Michal Hocko <mhocko@xxxxxxxx>
> Cc: Minchan Kim <minchan@xxxxxxxxxx>
> Cc: Hugh Dickins <hughd@xxxxxxxxxx>
> Cc: Rik van Riel <riel@xxxxxxxxxx>
> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> Signed-off-by: Shaohua Li <shli@xxxxxx>

Acked-by: Michal Hocko <mhocko@xxxxxxxx>

> ---
> mm/madvise.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/mm/madvise.c b/mm/madvise.c
> index 225af7d..5ab4b7b 100644
> --- a/mm/madvise.c
> +++ b/mm/madvise.c
> @@ -612,13 +612,7 @@ madvise_vma(struct vm_area_struct *vma, struct vm_area_struct **prev,
> case MADV_WILLNEED:
> return madvise_willneed(vma, prev, start, end);
> case MADV_FREE:
> - /*
> - * XXX: In this implementation, MADV_FREE works like
> - * MADV_DONTNEED on swapless system or full swap.
> - */
> - if (get_nr_swap_pages() > 0)
> - return madvise_free(vma, prev, start, end);
> - /* passthrough */
> + return madvise_free(vma, prev, start, end);
> case MADV_DONTNEED:
> return madvise_dontneed(vma, prev, start, end);
> default:
> --
> 2.9.3
>

--
Michal Hocko
SUSE Labs