Messages in this thread |  | | Date | Fri, 10 Jul 2020 09:14:10 +0800 | From | Wei Yang <> | Subject | Re: [Patch v4 0/4] mm/mremap: cleanup move_page_tables() a little |
| |
On Thu, Jul 09, 2020 at 10:38:58PM +0300, Dmitry Osipenko wrote: >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 >
Ah, my bad, I forget the error we met last time. It is the different format of pmd_addr_end.
Sorry for that.
@ Kirill
If you agree, I would leave the extent/next calculation as it is in patch 3.
>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(-) >>
-- Wei Yang Help you, Help me
|  |