[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200710011410.GC51939@L-31X9LVDL-1304.local>
Date: Fri, 10 Jul 2020 09:14:10 +0800
From: Wei Yang <richard.weiyang@...ux.alibaba.com>
To: Dmitry Osipenko <digetx@...il.com>
Cc: Wei Yang <richard.weiyang@...ux.alibaba.com>,
akpm@...ux-foundation.org, kirill.shutemov@...ux.intel.com,
vbabka@...e.cz, yang.shi@...ux.alibaba.com, thomas_os@...pmail.org,
anshuman.khandual@....com, sean.j.christopherson@...el.com,
peterx@...hat.com, aneesh.kumar@...ux.ibm.com, willy@...radead.org,
thellstrom@...are.com, linux-kernel@...r.kernel.org,
linux-mm@...ck.org,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
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
Powered by blists - more mailing lists