[Patch v4 0/4] mm/mremap: cleanup move_page_tables() a little

Dmitry Osipenko digetx at gmail.com
Thu Jul 9 15:38:58 EDT 2020


08.07.2020 12:50, Wei Yang пишет:
> move_page_tables() tries to move page table by PMD or PTE.
> 
> The root reason is if it tries to move PMD, both old and new range should be
> PMD aligned. But current code calculate old range and new range separately.
> This leads to some redundant check and calculation.
> 
> This cleanup tries to consolidate the range check in one place to reduce some
> extra range handling.
> 
> v4:
>   * remove a redundant parentheses pointed by Kirill
> 
> v3:
>   * merge patch 1 with 2 as suggested by Kirill

>   * add patch 4 to simplify the logic to calculate next and extent

Hello, Wei!

Unfortunately you re-introduced the offending change that was fixed in
v2 and today's next-20200709 on ARM32 is broken once again:

BUG: Bad rss-counter state mm:db85ec46 type:MM_ANONPAGES val:190

Please don't do it ;)

> v2:
>   * remove 3rd patch which doesn't work on ARM platform. Thanks report and
>     test from Dmitry Osipenko
> 
> Wei Yang (4):
>   mm/mremap: it is sure to have enough space when extent meets
>     requirement
>   mm/mremap: calculate extent in one place
>   mm/mremap: start addresses are properly aligned
>   mm/mremap: use pmd_addr_end to simplify the calculate of extent
> 
>  include/linux/huge_mm.h |  2 +-
>  mm/huge_memory.c        |  8 +-------
>  mm/mremap.c             | 27 ++++++++++-----------------
>  3 files changed, 12 insertions(+), 25 deletions(-)
> 




More information about the linux-arm-kernel mailing list