Re: [PATCH] Revert "mm: always flush VMA ranges affected by zap_page_range"

From: Mel Gorman
Date: Mon Jul 16 2018 - 09:12:52 EST


On Fri, Jul 06, 2018 at 01:10:19PM -0400, Rik van Riel wrote:
> There was a bug in Linux that could cause madvise (and mprotect?)
> system calls to return to userspace without the TLB having been
> flushed for all the pages involved.
>
> This could happen when multiple threads of a process made simultaneous
> madvise and/or mprotect calls.
>
> This was noticed in the summer of 2017, at which time two solutions
> were created:
> 56236a59556c ("mm: refactor TLB gathering API")
> 99baac21e458 ("mm: fix MADV_[FREE|DONTNEED] TLB flush miss problem")
> and
> 4647706ebeee ("mm: always flush VMA ranges affected by zap_page_range")
>
> We need only one of these solutions, and the former appears to be
> a little more efficient than the latter, so revert that one.
>
> This reverts commit 4647706ebeee6e50f7b9f922b095f4ec94d581c3.
> ---
> mm/memory.c | 14 +-------------
> 1 file changed, 1 insertion(+), 13 deletions(-)

Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

--
Mel Gorman
SUSE Labs