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(-) >