Re: [v4 PATCH 2/2] mm: mempolicy: handle vma with unmovable pages mapped correctly in mbind

From: Yang Shi
Date: Thu Jul 25 2019 - 14:09:08 EST




On 7/24/19 5:44 PM, Andrew Morton wrote:
On Wed, 24 Jul 2019 10:19:34 +0200 Vlastimil Babka <vbabka@xxxxxxx> wrote:

On 7/23/19 7:35 AM, Yang Shi wrote:

On 7/22/19 6:02 PM, Andrew Morton wrote:
On Mon, 22 Jul 2019 09:25:09 +0200 Vlastimil Babka <vbabka@xxxxxxx> wrote:

since there may be pages off LRU temporarily. We should migrate other
pages if MPOL_MF_MOVE* is specified. Set has_unmovable flag if some
paged could not be not moved, then return -EIO for mbind() eventually.

With this change the above test would return -EIO as expected.

Cc: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>
Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx>
Thanks.

I'm a bit surprised that this doesn't have a cc:stable. Did we
consider that?
The VM_BUG just happens on 4.9, and it is enabled only by CONFIG_VM. For
post-4.9 kernel, this fixes the semantics of mbind which should be not a
regression IMHO.
4.9 is a LTS kernel, so perhaps worth trying?

OK, I'll add cc:stable to

Thanks.


mm-mempolicy-make-the-behavior-consistent-when-mpol_mf_move-and-mpol_mf_strict-were-specified.patch

and

mm-mempolicy-handle-vma-with-unmovable-pages-mapped-correctly-in-mbind.patch

Do we have a Fixes: for these patches?

It looks the problem has existed since very beginning. The oldest commit which I can find is dc9aa5b9d65fd11b1f5246b46ec610ee8b83c6dd ("[PATCH] Swap Migration V5: MPOL_MF_MOVE interface"), which is a 2.6.16 commit.